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。
发表回复