1.vue中key值作用 : 给元素添加唯一标识符,可以让vue更准确的渲染元素
- vue会把页面DOM转换为虚拟dom
- 当数据变化的时候,vue会使用diff算法对比新旧虚拟DOM
- 当两个盒子元素是一致的时候,vue不会更新元素,而是直接复用
- 如果给元素添加唯一标识符key值, vue就会强制更新key值不同的元素
2.vue中key值为什么不能是下标?
*当数组元素发生变化的时候,其他的元素下标也会变化。
- 如果使用下标作为key值,那么当数组元素发生变化的时候,可能会导致其他元素下标变化从而引起vue的就地更新。
- 如果使用id作为key值,当数组元素变化的时候,下标变化不会引起vue就地更新。vue会复用相同的id元素,只会更新不同的id元素
3. vue有没有遇到数据更新页面不变的情况? vue修改data数据一定会更新吗? vue有没有遇到哪些问题?
- 数组有些方法不会改变数组自身,而是得到一个新的数组,这种情况数组变化不会引起页面更新
- 一般遇到这种情况,可以使用 vue.$set()方法强制更新数组 或者 把之前的数组给覆盖掉
4. 对虚拟DOM理解
- 虚拟DOM本质是一个js对象, 与真实DOM最大的区别是虚拟DOM只存储少部分核心属性
- 虚拟DOM主要作用提高渲染效率