1. 首页
  2. 编程语言
  3. Javascript
  4. vue中使用v-for时为什么不能用index作为key

vue中使用v-for时为什么不能用index作为key

上传者: 2021-08-27 07:01:39上传 PDF文件 107.98 KB 热度 13次

Vue 和 React 都实现了一套虚拟DOM,使我们可以不直接操作DOM元素,只操作数据便可以重新渲染页面。而隐藏在背后的原理便是其高效的Diff算法。Vue 和 React 的虚拟DOM的Diff算法大致相同,其核心是基于两个简单的假设:。基于以上这两点假设,使得虚拟DOM的Diff算法的复杂度从O(n^3)降到了O。但是,如果使用key来给每个节点做一个唯一标识,Diff算法就可以正确的识别此节点,找到正确的位置区插入新的节点。总而言之,key的作用主要是为了高效的更新虚拟DOM 。如果使用唯一id作为key,删除 Person2 后,剩下的元素因为与 key 的关系没有发生变化,都不会被重新渲染,从而达到提升性能的目的。此时,list 的 item 作为 select 的选项,也不会出现上面所描述的bug。

用户评论