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 相关文章推荐
Javascript实例教程(19) 使用HoTMetal(6)
Dec 23 Javascript
JavaScript 的方法重载效果
Aug 07 Javascript
jQuery 选择器、DOM操作、事件、动画
Nov 25 Javascript
javascript动态的改变IFrame的高度实现自动伸展
Oct 12 Javascript
脚本合并提升javascript性能示例
Feb 24 Javascript
javascript常见数字进制转换实例分析
Apr 21 Javascript
jQuery实现对无序列表的排序功能(附demo源码下载)
Jun 25 Javascript
详解Javascript函数声明与递归调用
Oct 22 Javascript
关于ES6的六个小特性(二)
Feb 20 Javascript
nginx配置React静态页面的方法教程
Nov 03 Javascript
微信小程序利用canvas 绘制幸运大转盘功能
Jul 06 Javascript
原生JS实现微信通讯录
Jun 18 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更快的提供文件下载的代码
2012/06/13 PHP
php while循环得到循环次数
2013/10/26 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
2010/04/15 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
2014/09/02 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
你应该知道的几类npm依赖包管理详解
2017/10/06 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
cdn模式下vue的基本用法详解
2018/10/07 Javascript
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
2019/09/03 jQuery
JS+CSS实现3D切割轮播图
2020/03/21 Javascript
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
Python操作列表之List.insert()方法的使用
2015/05/20 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
Django 数据库同步操作技巧详解
2019/07/19 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
2019/08/17 Python
用python实现英文字母和相应序数转换的方法
2019/09/18 Python
python之array赋值技巧分享
2019/11/28 Python
pytorch 常用函数 max ,eq说明
2020/06/28 Python
python实现数字炸弹游戏
2020/07/17 Python
浅谈html5 响应式布局
2014/12/24 HTML / CSS
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
荷兰最大的儿童服装店:The Kids Republic
2019/04/13 全球购物
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
2016/10/17 面试题
办理生育手续介绍信
2014/01/14 职场文书
《会走路的树》教后反思
2014/04/19 职场文书
2014年文学毕业生自我鉴定
2014/04/23 职场文书
迎国庆横幅标语
2014/10/08 职场文书
2014年个人师德工作总结
2014/12/04 职场文书
武当山导游词
2015/02/03 职场文书
《夹竹桃》教学反思
2016/02/23 职场文书
2019年朋友圈经典励志语录50条
2019/07/05 职场文书
浅谈Golang 切片(slice)扩容机制的原理
2021/06/09 Golang