【Vue】报错之 Elements in iteration expect to have 'v-bind:key' directives

在使用vue v-for 遍历的时候手Vscode报错
在这里插入图片描述
在这里插入图片描述

解决方法一:
在v-for 的后后面加上 :key 值:
在这里插入图片描述
解决了Vscode的报错问题,但是:…
浏览器中的console 中多了好多警告信息:
在这里插入图片描述
搞得我一脸懵逼,其实就是对于key 的值应该使用string/number/ value 来代替;
故此加入:key=“user.id”

当 Vue.js 用 v-for 正在更新已渲染过的元素列表时,它默认用“就地复用”策略。如果数据项的顺序被改变,Vue 将不会移动 DOM
元素来匹配数据项的顺序, 而是简单复用此处每个元素,并且确保它在特定索引下显示已被渲染过的每个元素。这个类似 Vue 1.x 的
track-by="$index" 。

这个默认的模式是高效的,但是只适用于不依赖子组件状态或临时 DOM 状态 (例如:表单输入值) 的列表渲染输出。


不加的话,知识单纯的在Vscode中报错,而不影响实际的使用, 这是因为你在vue2.x 的版本中v-for 必须加入:key 来表示准确的更新DOM,不然单纯的使用 v-for 只会跟新其中部分的渲染,还有一部分是不发生改变的,这样对于一些精确的数据,可能会并不是都会实时更新渲染到;


二:
Vscode的配置出了问题
esline-plugin-vue ;
在这里插入图片描述

这里需要修改的是:

更改vetur配置 vscode->首选项->设置->搜索(vetur)

“vetur.validation.template”: true, 改成:false

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值