VUE循环时必须要写这个:key吗?

我发现不写这个:key就会报错 这个有什么用呢 为什么不用cli的方式写循环时就不会报错?
:key有实际作用吗?:key后面一般跟什么?

<div class="blog" v-for="(items, index) in all">          
</div>

图片描述

阅读 8.7k
4 个回答

用index即可,作用是为了给 Vue 一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,你需要为每项提供一个唯一 key 属性。官网有答案,key

cli对vue的格式会比较严格,所以报错提示。
使用v-for更新已渲染的元素列表时,默认用就地复用策略;列表数据修改的时候,他会根据key值去判断某个值是否修改,如果修改,则重新渲染这一项,否则复用之前的元素。简单地说key的作用主要是为了高效的更新虚拟DOM。
key值是数据中的唯一标识,例如数组的序号或者数据中的id。

有必要,严格来说不建议使用数组的index作为key,但是开发中往往都是这么干的

这个不是必须的,但是一般写代码都会写上:key,比如v-for="(item, index) in list" :key="index"

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题