网络编程 
首页 > 网络编程 > 浏览文章

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

(编辑:jimmy 日期: 2026/9/24 浏览:3 次 )

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

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

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

上一篇:详解Angular 4.x Injector
下一篇:详解Node.js串行化流程控制
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。