美文网首页
【Vue】v-for要提供唯一key属性

【Vue】v-for要提供唯一key属性

作者: muxiyou | 来源:发表于2019-03-14 21:09 被阅读0次

最近在项目中,用了v-for来动态添加组件,然后删除中间的组件时,删除掉的都是最后一个组件,插入顺序也很奇怪。

后来发现Vue用 v-for 更新已渲染过的元素列表时,它默认用“就地复用”策略。如果数据项的顺序被改变,Vue 将不会移动 DOM 元素来匹配数据项的顺序, 而是简单复用此处每个元素,并且确保它在特定索引下显示已被渲染过的每个元素。(其实,真正的原因是Virtual DOM 使用Diff算法实现)

也就是说他会根据key值去判断某个值是否修改,如果修改,则重新渲染这一项,否则复用之前的元素;所以不推荐index(即数组的下标)来作为key。

相关文章

网友评论

      本文标题:【Vue】v-for要提供唯一key属性

      本文链接:https://www.haomeiwen.com/subject/ixrhmqtx.html