美文网首页
vue中v-for循环的时候为什么要添加:key属性

vue中v-for循环的时候为什么要添加:key属性

作者: 小卟啾 | 来源:发表于2022-01-06 13:30 被阅读0次

    官方推荐我们在使用v-for时,给对应的元素或组件添加上一个:key属性。
    这个其实和Vue的虚拟DOM的Diff算法有关系。
    这里我们借用React’s diff algorithm中的一张图来简单说明一下:


    image.png
    image.png
    image.png
    image.png

    当某一层有很多相同的节点时,也就是列表节点时,我们希望插入一个新的节点
    我们希望可以在B和C之间加一个F,Diff算法默认执行起来是这样的。
    即把C更新成F,D更新成C,E更新成D,最后再插入E,是不是很没有效率?
    所以我们需要使用key来给每个节点做一个唯一标识
    Diff算法就可以正确的识别此节点
    找到正确的位置区插入新的节点。

    所以一句话,key的作用主要是为了高效的更新虚拟DOM。

    相关文章

      网友评论

          本文标题:vue中v-for循环的时候为什么要添加:key属性

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