概念
key的特殊attribute,主要用在vue的虚拟DOM算法,在新旧nodes对比时辨识VNodes,如果不使用key,vue会使用一种最大限度减少动态元素,并且尽可能尝试的修改、复用相同类型元素的算法(例如:渲染数组的最前面插入一个元素,不加key,vue会直接在最后面插入,只更新文本没有更新勾选)
当使用v-for渲染元素时,默认使用“就地更新”,如果数据的顺序项被改变,vue就不会移动元素来匹配数据项的顺序,而是就地更新每一个元素,并确保在每个索引的准确位置渲染
作用
vue在patch过程,可以通过key判断两个节点是否相同(可以复用老节点)
无key会导致更新时出问题
尽量不要采用索引作为key