vue官方推荐我们在使用v-for的时候,给对应的元素和属性添加一个key属性。
如果未使用key属性,会给我们报警告,表面上看着没啥影响,但这关系到项目性能,所以为了项目更高效,我们不得不使用到key属性。
- vue的虚拟DOM机制,使得我们不需要去操作DOM,仅需操作数据就可重新渲染页面;
- 虚拟DOM机制的原理依据的是Diff算法。
如下图,我想要在B和C之间插入节点F
Diff算法的插入机制如下图,即把原来的C更新成F,D更新为C,E更新成D,最后再插入E。在没有指定key的情况下,就是这样“傻瓜式位移”来实现更新
如果我们给他指定一个唯一标识key之后,他根据这个唯一标识,Diff算法就能正确识别该节点,找到对应的位置,只需要在对应的位置更新。不再需要“傻瓜式位移”,一个个地去比对。
所以,key的作用主要是为了高效的更新虚拟DOM。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。