我在app.js里import了工具类request,
request里使用到了getApp().globalData。
然后在App.js中。
onLaunch: function () {
request({
url: 'menus',
method: 'GET',
}, true).then((res) => {
if (res.statusCode === 200) {
let menus = res.data;
this.globalData.menu.menus = menus;
}
})
},
然后就报了如上错误。是不能交叉引用吗?
问题已经找到,原因为高赞回答。谢谢大家。
app.js 里面require的模块里getApp().globalData是拿不到的
把你的工具类request发出来啊, app.js中import的文件, 不要在文件头使用getApp()
这个globalData, 开发者工具和真机调试都正常, 但是预览和上传后的测试版和线上版都不正常: 在Page()中无论无论哪个生命周期去获取都会globalData undefined的错误.真实奇了怪了.
楼主问题解决了吗?
onLaunch: function () {
let that = this
request({
url: 'menus',
method: 'GET',
}, true).then((res) => {
if (res.statusCode === 200) {
let menus = res.data;
that.globalData.menu.menus = menus;
}
})
},
问题并没有得到解决,同样的错误。
是不是没有globalData
App({
globalData: {
},
onLaunch: function() {
}
})
有的。在下面。如果不在onLaunch里调用,在其他地方都ok
你把that打印看看指向的是谁。
let that = this;
console.log("that's ",that);