vue在forEach中使用push追加数据报错Cannot read property ‘xxxx‘ of undefined问题
vue在forEach中使用push追加数据报错Cannot read property 'xxxx' of undefined问题
·
uniapp在使用forEach追加新数据进数组时报错
问题场景
在使用分页时,每次将请求的分页数据追加到要渲染的数组中,使用forEach将分页数据追加时报错:
Cannot read property 'xxxx' of undefined
报错显示我没有定义该数组,但是我已经定义过了,在forEach中就是无法正常追加数据。
后来发现可能是vue无法动态识别数组长度的问题,参考了其他解决方案:
- 方法一:使用vue的数组变异方法(push、pop、shift、unshift、splice)来操作数组,可是我使用的就是push方法,还是不管用。
- 方法二:使用this. s e t 的方式 t h i s . set的方式 this. set的方式this.set(this.array, index, newValue)可是依旧不管用
最后使用for循环代替forEach解决了这个问题,受forEach回调的影响,数组无法动态的识别长度而报错
// data为分页的数据 showData为渲染的数据
addDataToShow(data){
var len = data.length
var i
// 使用for循环添加数据
for(var i = 0;i < len;i++){
this.showData.push(data[i])
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)