码迷,mamicode.com
首页 > Web开发 > 详细

解决Vue.js中使用v-for提示缺少onbind:key

时间:2019-03-25 14:58:18      阅读:631      评论:0      收藏:0      [点我收藏+]

标签:nbsp   替换   不同   行操作   切换   mamicode   index   bind   区分   

在学习Vue的v-for指令时,按照官网上的例子敲,发现在IDE中报错了。明明是官网的例子,为什么会报错呢,我百思不得其解。

例子如下:

template:

 技术图片

vue示例中的data:

技术图片

报错如下:

技术图片

在v-for指令中缺少了v-bind:key。

v-bind:key是什么呢?

于是我又回到了官方文档,发现就在v-for的下面,就讲了key的作用。

key的作用是为每个v-for中的元素绑定一个能够代表这个元素的key,通过这个key,可以提高v-for的渲染速度。如果没有使用key,在修改数据时,v-for列表的所有元素都会重新加载;如果用了key,则vue会复用之前的数据,然后通过key来找到修改数据的结点,直接对这个结点进行操作,不同全部重新渲染。

于是我修改后:(‘v-bind:‘可以缩写为‘:‘)

技术图片

 

执行结果:

技术图片

又有一个问题了,如何设置key的值呢?

上面的写法只是我为了消除报错而简单赋的值。

一般v-for在遍历数组的时候,会设置成这样:

技术图片

其中v表示数组中的元素的value,k表示key(元素的索引)

采用k来作为key的值是比较推荐的写法。

 其结果为:

技术图片

其中v-for在遍历对象的时候,会设置成这样:

template:

技术图片

data中:

技术图片

其中value表示值,key表示名,index才是表示索引。

其结果为:

 技术图片

 

另外,vue中在使用相同标签名元素的过渡切换时,也会使用到key属性,其目的也是为了让vue可以区分它们,否则vue只会替换其内部属性而不会触发过渡效果。

 

PS:遇到问题时先看看官方文档中有没有相应说明。

 

解决Vue.js中使用v-for提示缺少onbind:key

标签:nbsp   替换   不同   行操作   切换   mamicode   index   bind   区分   

原文地址:https://www.cnblogs.com/wangpengblog/p/10593492.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!