欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解Vue中使用v-for语句抛出错误的解决方案

程序员文章站 2022-04-28 19:14:11
vue 中使用v-for语句抛出错误的解决方案 今天在维护以前的项目的时候遇见了下面的报错情况,开始我以为是因为jquery和vue冲突了,所以把以前的jquery改了,...

vue 中使用v-for语句抛出错误的解决方案

今天在维护以前的项目的时候遇见了下面的报错情况,开始我以为是因为jquery和vue冲突了,所以把以前的jquery改了,但是还是出现同样的错误…通过查阅资料,发现是因为循环的变量里面的值重复了,导致vue报错。

复制代码 代码如下:

uncaught (in promise) typeerror: cannot read property ‘removechild' of null

接下来查了一下解决方案,发现在vue 2.0之前的版本可以通过在v-for语句后面加如下语句解决:

<div v-for="item in items" track-by="id">

不过在vue 2.0之后的版本中track-by改为了key,所以对于vue 2.0之后的版本可以使用:

<div v-for="item in items" v-bind:key="item.id">

其实,在查看api返回的json数据后,发现重复请求了接口,所以,这个问题本来就不应该出现的。所以特意在接口获取数据的地方加上了一个过滤方法:

self.goodslist.indexof(arr) === -1 ? self.goodslist.push(arr) : undefined

这句语句就是说如果获取的数组元素不重复的话,才将数组元素加入到列表中。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。