首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
v-for 中 key 的作用与不当使用造成的问题。
[问答题]
v-for 中 key 的作用与不当使用造成的问题。
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(1)
分享
纠错
1个回答
添加回答
0
牛客603066414号
理解:这个所谓的遍历循环,列表中的列表项会通过 Vue 的编译器 -> 会编译为虚拟的 dom 节点,每遍历一个产生一个虚拟 dom 节点,然后分情况:如果我不加入 key 那么在 Vue 中会默认是由 0 逐次递增的索引作为 key,依次给每个节点加入身份的唯一标识,然后情况模拟:比如列表中有一个列表项中的值是响应式的,变化的,然后该值变化,Vue 会触发就地复用,对比这两个新旧虚拟 dom 节点发现只是值改变,那么会复用原有 DOM 节点,仅更新动态内容(不会替换旧节点),其他节点不改变,这样其他虚拟的节点渲染 dom 元素不会没必要的被销毁。 然后另一种情况:列表中的列表项少一项,此时默认 key 的唯一标识中,被删除项后面的节点 key 会变动,造成节点混乱 —— 核心是 Vue 会误复用不该复用的 DOM,导致数据与视图绑定错乱,同时还会造成不必要的 dom 销毁和创建,因为只是删除一个列表项,但被删除项后的节点 key 都发生了改变,所以就会触发大量 dom 更新和重新渲染,而不是移动已经存在的 dom 元素
发表于 2025-11-23 23:39:25
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
来自:
Vue-牛客面经八股
难度:
1条回答
1收藏
77浏览
热门推荐
相关试题
Vue2 数组/对象的响应式“坑”...
评论
(1)
来自
Vue-牛客面经八股
ECharts/地图等重型图表在 ...
评论
(0)
来自
Vue-牛客面经八股
请系统讲讲 Vue2 与 Vue3...
评论
(9)
来自
Vue-牛客面经八股
何时需要自定义指令?指令的生命周期...
评论
(0)
来自
Vue-牛客面经八股
权限路由的动态生成与菜单联动。
评论
(0)
来自
Vue-牛客面经八股
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题