Vue中v-for中为什么要用key

【 学习探索过程中记下的点点笔记,以供分享,欢迎大家一起学习探讨~如有雷同可附链接,谦虚学习!】

理由:

  1. 无key时,会存在“就地复用”的问题。
    (同一组件标签相同,key相同就会复用)
  2. 有key时,只需移动无需重新创建dom。

尽量使用用唯一的值来标识的key可以防止修改列表时出现BUG。

⚠️注意:

尽量不要使用索引值index作key值,一定要用唯一标识的值,如id等。
原因是index虽然能够解决key不冲突的问题,但是并不能解决复用的情况。

补充:

如果是静态数据,用索引号index做key值是没有问题的。

事实上v-for时如果不加key,默认使用的还是索引号index,但是控制台会报警告的,所以尽量还是加上key较好。

没有key的时候默认使用的是“就地复用”策略。如果数据项的顺序被改变,Vue不是移动Dom元素来匹配数据项的改变,而是简单复用原来位置的每个元素,并且确保它在特定索引下显示已被渲染过的每个元素。
(不是很理解“就地复用”的童鞋可以详细戳以下链接了解一下,里面有例子,相互学习![https://blog.csdn.net/xukongjing1/article/details/81587549?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值