玩命加载中 . . .

备战大厂前端面试之Vue篇


前端面试题系列文章:

Vue

vue 中 key 有什么作用?

  1. 虚拟 DOM 中 key 的作用:

key 是 虚拟 DOM 对象的标识,当数据发生变化时,Vue 会根据新数据生成新的虚拟 DOM ,随后 Vue会进行新虚拟 DOM 与旧虚拟 DOM 的差异比较,比较规则如下:

  • 旧虚拟 DOM 中找到了与新虚拟 DOM 相同的 key
    • 若虚拟 DOM 中内容没变,直接使用之前的真实 DOM
    • 若虚拟 DOM 中内容变了,则生成新的真实 DOM ,随后替换掉页面中之前的真实 DOM
  • 旧虚拟 DOM 中未找到与新虚拟 DOM 相同的 key
    • 创建新的真实 DOM ,随后渲染到页面
  1. 用 index 作为 key 可能会引发的问题:
  • 若对数据进行 逆序添加、逆序删除等破坏顺序的操作,会产生没有必要的真实 DOM 更新(界面效果没问题,但效率低)
  • 如果结构中还包含输入类的 DOM ,会产生错误 DOM 更新(界面更新有问题)

文章作者: hcyety
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 hcyety !
评论
  目录