vue循环中的:key应该怎么写
<div v-for="(item, index) in list" :key="index" class="item"></div>
一直都是这么写的,虽然在很多地方看到不要用index作为key。但是应该怎么写呢?用随机数,时间戳表示唯一?
回答:
尽可能使key
值与数组元素内容相关,如果元素本身就有唯一 ID,那么用这个 ID 是再好不过的了。
不推荐用遍历的 index
,是因为 index
与内容无关,只与位置有关,但是插入、删除、排序都会影响元素的位置,如果不会对数组进行这些操作的话,用 index
是不会有问题的。
这就好比你去打疫苗的时候,有人打第一针,有人打第二针,但大家都在一个队伍里。
如果护士叫人进去的时候,只依据当前排队的号安排针剂,那就会打错针,或者为了不打错针重新询问你有没有打针、打的什么针、打了第几针;
但是如果护士按号把人叫进去,并让人提供身份证号来记录和查询打针的记录,那么只要一查记录就知道如何安排针剂了。
当然,这只是一个粗浅的比喻,要学会虚拟 DOM 原理才能理解透彻。
回答:
自行维护一个自增id
不过只要list不会减少,那key用index也没问题
vue3可以不用写key了好像
以上是 vue循环中的:key应该怎么写 的全部内容, 来源链接: utcz.com/p/935877.html