问题:已在data中声明dataList数组,且页面加载时调用了getData函数给dataList赋值,但是在前端使用wx-for遍历dataList数组时,出现undefined情况
原因:页面的渲染和函数的调用异步执行
解决办法:
在success回调中使用setData函数,注意在success里使用this.setData时并不会对dataList赋值成功,因为此时的this指代的是success,需要在回调外提前声明全局的this,如
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)
}
})
},