vue中v-for为什么必须要设置 :key?

首先,可以通过以下方式设置key值,
在这里插入图片描述
在这里插入图片描述
id是唯一识别的,使用id属性作为key的值。

也有这样设置key值的,

v-for="(item, index) in list" :key="index"

这样设置的key值为每一项的列表序号,0,1,2…
这两种设置方式一般来说都可以,但是某些情况会出现差别

先说一下,设置key值是为了提高动态加载的效率

假设有这样一个场景,
有一个按钮可以添加图片,动态添加到pics参数中,
当我们点击按钮,pics添加了一个字典值,我们的图片展示也会添加一张图片。
一般我们都是添加到列表尾部,这样两种key的设置方法不会有区别,但如果添加到列表的中间,就会出现效率上的差别。
使用列表序号的话,如果插在中间,插入位置前面的key不用改变,无需重新渲染,但是插入位置后面的key都需要改变,需要重新渲染。
使用上面的id的话,我们只需要插入即可,其他的key值都不会改变,无需重新渲染。

设置key和不设置key
在这里插入图片描述
vue为了提高虚拟DOM的效率,规定需要设置key值。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值