首先要知道两点 :
1.具体项目,具体分析,脱离场景看优化没有什么意义
2.我们做软件开发的,软件就是工具,为商业服务的工具,而商业追求的是什么,是利润,利润是什么,收益减成本,所以我们不能追求极致的优化,而浪费大量时间
但是也必须懂优化,下面总结了10个优化的方法
1.使用Key值
通过循环生成的列表,应该给每一个列表项一个稳定且唯一的key值,这样做的目的是为了,当数据发生变动时,尽可能少的删除,新增,改动元素,因为diff算法就是通过key值来进行比较的
2.使用冻结的对象
冻结的对象不会被响应化 Object.freeze 一般用在只展示数据并不会改变数据的场景。
3.使用函数式组件
有些时候,我们一个组件只是需要接受一些prop数据,而不会改变什么东西,这个时候可以用函数式组件 ,函数式组件在渲染的时候能减少一定的脚本运行时间,内存占用也少一些
4.使用计算属性
如果模板中某个数据使用多次,并且该数据是通过计算得到的,使用计算属性可以缓存它们。(缺陷不能传参)
5.非实时绑定的表单项
小知识:vue设计思想是关注的是数据而不是界面,代码的可维护性和可阅读性也很重要,js执行线程和浏览器渲染线程是互斥的,所以运行动画时执行jS线程动画会卡顿
当使用v-modle绑定一个表单项时,当用户改变表单项的状态时,也会随之改变数据,从而导致vue发生重渲染,这会带来性能的开销
特别是当改变表单项时,页面有动画在执行,由