onLoad()加载不到app.globalData全局变量的值
app.js
globalData: {
statusResult:null,
}
index.js
wx.request({
url: 'xxx',
method: 'POST',
header: {
'content-type': 'application/json',
},
success: function (res) {
var dataInfo = res.data.data;
var name = [];
for (let i in dataInfo) {
name = dataInfo[i].Items.name
}
app.globalData.statusResult = name; //把数据存到全局变量中
}
})
device.js
data: {
statusResult:[]
},
onLoad: function () {
this.setData({
statusResult: app.globalData.statusResult
})
},
我最后打印出来的结果,是先执行decive.js中的onload(),获取到的全局变量是null,然后再执行的index.js中的请求。
试了好多方法,最后还是加了个loading 和定时器解决了这个问题
onLoad: function () {
var that = this;
wx.showLoading({
title: '加载中',
})
setTimeout(function () {
that.setData({
statusResult : app.globalData.statusResult
})
wx.hideLoading()
}, 1000)
},