vue+iview+less+echarts实战项目总结


Posted in Javascript onFebruary 22, 2018

首先我们先分享一下源码:https://github.com/kunfan96/vue-admin

对于我这种刚开始用Vue做项目的菜鸟来说在组件数据定义方面犯了很多错误,尤其是在这个页面

vue+iview+less+echarts实战项目总结

在进行数据回选的时候自己重定义已经定好的数据,导致数据非常杂乱无章,具体在storeDetail.vue的14--321行,感觉这么多数据非常有必要的进行裁剪,用js进行运算把数据补充完整,这里相对把后台的任务减轻了很多,只是额外增加前端渲染数据的量

父子组件数据通讯问题

刚开始写Modal的时候对于Modal的开关modal父子组件共享的数据,然后在关闭的时候子组件改变了父组件传递的数据会报错,也就是props的值

vue+iview+less+echarts实战项目总结

在这里有2个解决方案,一个是用vuex共享Modal的开关(写起来有点绕,代码也不简洁),另外一个最好的方法是建立一个mixins文件夹,在mixins的js进行操作,关键代码--->mixins/closeModal.js--->this.$emit('on-cancel',false),子组件通过emit使父组件发生on-cancel,响应一个事件,这样写可以让其他多个子组件使用到Modal共用代码

组件命名方式

在这里我自己定义了文件夹采用了大驼峰命名法,例如文件夹Store,Shop,对于文件以及变量的命名采用小驼峰命名法,如果storeDetail.vue,parcelList.vue

多用flex

2018年flex将会是主流,兼容性问题也没必要理睬,还有多注意grind布局,可能也有流行了

多用懒加载

使用懒加载方便在低带宽时候能够带来更好的用户体验,在参考iview admin代码我把懒加载的用法统一为

{
 path:"/parcel-list",
 meta:{
  group:"parcel",
  item:"parcel-list"
 },
 component: resolve =>import('@/pages/Parcel/parcelList')
 }

侧边栏刷新问题

vue+iview+less+echarts实战项目总结

在这里要注意到组件给了2个绑定的变量active-name,open-names,这里我们在路由设置的时候添加

meta:{
  group:"",
  item:""
 }

通过this.$route.meta.group,this.$route.meta.item就可以与active-name,open-names进行匹配实现无刷新操作

记得多npm run build

iview这个组件有点问题,有时候就是修改Modal的样式我明明在style(不带scoped)标签修改之后npm run dev样式修改成功,可是build之后样式就又重新恢复,后来把样式放在静态文件夹中才可以修改成功,还有就是表格居中build之后之后不能居中,总之,多build问题早点发现早点解决是好事(切莫佛系~~~)

Echarts在VUE的使用

在这里有个坑,在echarts实例化的时候在chart.vue有段代码

<div :id="chart.id"></div>
 let myChart=this.$echarts.init(document.getElementById(this.chart.id))

在这里注意到有个id,我在这里之所以这样做,把组件的id设为变量主要是echarts官网文档写到在网页中echarts实例化的div的id具有唯一性,由于我这个chars组件需要多次被被同一组件调用多次所以是只能将id设为一个变量(这个真的坑,调了很多次上官方文档看了好几次才知道...).另外最好把把echars的数据封装一遍

多写公用组件

框架这种东西本质就是减少代码,公用组件写好了调用的时候使用数据渲染就可以了,这样就能大大减少代码量,也符合MVVM的思想

Javascript 相关文章推荐
不要小看注释掉的JS 引起的安全问题
Dec 27 Javascript
IE下双击checkbox反应延迟问题的解决方法
Mar 27 Javascript
node.js中的http.response.removeHeader方法使用说明
Dec 14 Javascript
javascript中AJAX用法实例分析
Jan 30 Javascript
简单分析javascript面向对象与原型
May 21 Javascript
分享jQuery插件的学习笔记
Jan 14 Javascript
js 截取或者替换字符串中的数字实现方法
Jun 13 Javascript
js实现文字超出部分用省略号代替实例代码
Sep 01 Javascript
JS实现的样式切换功能tableCSS实例
Dec 30 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
Sep 27 Javascript
js判断在哪个浏览器打开项目的方法
Jan 21 Javascript
js面向对象封装级联下拉菜单列表的实现步骤
Feb 08 Javascript
在vscode中统一vue编码风格的方法
Feb 22 #Javascript
vue webpack打包优化操作技巧
Feb 22 #Javascript
vue和react等项目中更简单的实现展开收起更多等效果示例
Feb 22 #Javascript
Vue 2.5.2下axios + express 本地请求404的解决方法
Feb 21 #Javascript
把vue-router和express项目部署到服务器的方法
Feb 21 #Javascript
浅谈在vue中用webpack打包之后运行文件的问题以及相关配置方法
Feb 21 #Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
Feb 21 #Javascript
You might like
PHP中extract()函数的妙用分析
2012/07/11 PHP
PHP处理excel cvs表格的方法实例介绍
2013/05/13 PHP
php 模拟post_验证页面的返回状态(实例讲解)
2013/10/28 PHP
destoon后台网站设置变成空白的解决方法
2014/06/21 PHP
解决laravel id非自增 模型取回为0 的问题
2019/10/11 PHP
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
jQuery读取XML文件内容的方法
2015/03/09 Javascript
JavaScript检查数字是否为整数或浮点数的方法
2015/06/09 Javascript
js实现简易的单数字随机抽奖(0-9)
2020/03/19 Javascript
Bootstrap模态框禁用空白处点击关闭
2016/10/20 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
2018/07/19 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
2019/01/16 Javascript
Vue如何基于es6导入外部js文件
2020/05/15 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
Python写的创建文件夹自定义函数mkdir()
2014/08/25 Python
Flask框架WTForm表单用法示例
2018/07/20 Python
python自动循环定时开关机(非重启)测试
2019/08/26 Python
python使用openCV遍历文件夹里所有视频文件并保存成图片
2020/01/14 Python
python实现图像拼接
2020/03/05 Python
5分钟弄清楚html5的drag and drop(小结)
2019/04/10 HTML / CSS
html2canvas把div保存图片高清图的方法示例
2018/03/05 HTML / CSS
Falconeri美国官网:由羊绒和羊毛制成的针织服装
2018/04/08 全球购物
大学生入党思想汇报
2014/01/01 职场文书
我的求职计划书
2014/01/10 职场文书
班主任评语大全
2014/04/26 职场文书
单位授权委托书范本
2014/09/26 职场文书
考研英语复习计划
2015/01/19 职场文书
实习报告范文
2019/07/30 职场文书
小米11和iphone12哪个值得买?小米11对比iphone12评测
2021/04/21 数码科技
python如何利用traceback获取详细的异常信息
2021/06/05 Python
Python基础之条件语句详解
2021/06/16 Python
Python 如何利用ffmpeg 处理视频素材
2021/11/27 Python
python前后端自定义分页器
2022/04/13 Python
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android
JavaScript设计模式之原型模式详情
2022/06/21 Javascript