vue中key的作用

vue官方推荐我们在使用v-for的时候,给对应的元素和属性添加一个key属性。
如果未使用key属性,会给我们报警告,表面上看着没啥影响,但这关系到项目性能,所以为了项目更高效,我们不得不使用到key属性。

  1. vue的虚拟DOM机制,使得我们不需要去操作DOM,仅需操作数据就可重新渲染页面;
  2. 虚拟DOM机制的原理依据的是Diff算法。
如下图,我想要在B和C之间插入节点F
vue中key的作用
文章图片

Diff算法的插入机制如下图,即把原来的C更新成F,D更新为C,E更新成D,最后再插入E。在没有指定key的情况下,就是这样“傻瓜式位移”来实现更新
vue中key的作用
文章图片

如果我们给他指定一个唯一标识key之后,他根据这个唯一标识,Diff算法就能正确识别该节点,找到对应的位置,只需要在对应的位置更新。不再需要“傻瓜式位移”,一个个地去比对。
vue中key的作用
文章图片

【vue中key的作用】所以,key的作用主要是为了高效的更新虚拟DOM。

    推荐阅读