Web秀
首页
专栏
文章
问答
热点
导航
实例
首页
登录
首页
前端
JavaScript
Vue.js
CSS
Uni-App
专栏
问答
工具
全网热点
导航
前端
设计
实例
登录
#diff算法#
共找到
diff算法
相关内容
2
条
优先问答
优先文章
Javan
Lv6
专注于前端知识分享
0
关注
0
关注者
关注
Javan
4年前
React / Vue 项目时为什么要在列表组件中写 key,其作用是什么?
vue和react都是采用diff算法来对比新旧虚拟节点,从而更新节点。在交叉对比中,当新节点跟旧节点头尾交叉对比没有结果时,会根据新节点的key去对比旧节点数组中的key,从而找到相应旧节点(这里对应的是一个key=>index的map映射)。如果没找到就认为是一个新增节点。而如果没有key,那么就会采用遍历查找的方式去找到对应的旧节点。一种一个map映射,另一种是遍历查找。相比而言。map映射的速度更快。vue部分源码如下://vue项目src/core/vdom/patch.js-488行//以下是
555680
3638
0
Javan
Lv6
专注于前端知识分享
0
关注
0
关注者
关注
Javan
4年前
vue 中 key 值有什么作用?
在列表渲染时使用key属性相信大多数Vue开发者接触到key属性的时候是使用v-for进行列表渲染的时候,如果不使用key属性,Vue会产生警告,那么在这个时候key属性的作用是什么呢?官方文档中说:当Vue.js用v-for正在更新已渲染过的元素列表时,它默认用“就地复用”策略。如果数据项的顺序被改变,Vue将不会移动DOM元素来匹配数据项的顺序,而是简单复用此处每个元素,并且确保它在特定索引下显示已被渲染过的每个元素。假设Vue实例的data属性中有一个叫numbers的变量,它的值是[1,2,3,7
547724
3289
0
下拉加载更多