vue基础—更新监测和key
1、v-for 更新监测
目标:目标结构变化,触发v-for 更新
口诀:
数组变更方法,就会导致v-for更新,页面更新
数组非变更方法,返回新数组,就不会导致v-for更新,可采用覆盖数组或this.$set()
会导致v-for更新方法举例:
- push()
- pop()
- shift()
- unshift()
- splice()
- sort()
- reverse()
1.1、v-for 就地更新
目标: 当数组改变后是如何更新的
总结:v-for 更新时 找出变化的部分然后更新
1.2、虚拟DOM
目标:本质是保存节点信息,属性和内容的一个JS对象
虚拟dom,能够提高性能
1.3、diff算法
小结:
- diff算法比较新旧DOM 同级比较
- 根元素变化 – 删除重新建立整个DOM树
- 根元素未变,属性改变 – DOM复用,只更新属性
1.4.1、无key
最大限度尝试就地修改/复用相同类型元素