问题:已在data中声明dataList数组,且页面加载时调用了getData函数给dataList赋值,但是在前端使用wx-for遍历dataList数组时,出现undefined情况
原因:页面的渲染和函数的调用异步执行文章来源:https://www.toymoban.com/news/detail-735305.html
解决办法:
在success回调中使用setData函数,注意在success里使用this.setData时并不会对dataList赋值成功,因为此时的this指代的是success,需要在回调外提前声明全局的this,如文章来源地址https://www.toymoban.com/news/detail-735305.html
getData() {
const _this = this
const db = wx.cloud.database()
db.collection('*****')
.get({
success: function (res) {
//console.log(this)
//console.log(_this)
_this.dataList=[]
for (const element of res.data) {
_this.dataList.push(element);
}
_this.setData({
dataList: _this.dataList
})
//console.log(_this.dataList)
}
})
},
到了这里,关于小程序前端页面访问数据出现undefined的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!