微信小程序app.js初始化全局数据
作者:相伴醉晚风 2020-02-21 人气:5815微信小程序app.js初始化全局数据,这是个很好的想法,不过有些数据是需要异步获取的,这就导致页面中获取全局数据的时候获取不到,目前的解决方案如下。
微信小程序app.js初始化全局数据,这是个很好的想法,不过有些数据是需要异步获取的,这就导致页面中获取全局数据的时候获取不到,目前的解决方案如下。
app.js中自定义初始化方法
wxLogin() {
// 登录
return new Promise((resolve, reject) => {
//自己的业务,可能是 异步请求服务端的,如果是异步请求的就请求成功后 resolve(res)
wx.login({success: function(res) {
....
resolve(res)
})
})
},
_appRoute(obj){
console.log('_appRoute-curPath', this.globalData.curPath)
if (!this.globalData.curPath){
return
}
//_appRoute是在appInt中执行
//拿到 当前路由页面路径和传入的 obj 可以自己做一些判断 this.globalData.curPath,比如在某些条件下跳转到指定页面等等
...
},
appInt(){
return this.wxLogin().then(obj => {
this._appRoute(obj);
return obj
});
},
onLaunch(e) {
let that = this;
console.log('onLaunch',e);
//注意这个 wx.onAppRoute 一旦启动,不受控制,而且它执行的比较早,所以这里如果获取到 当前页面路径(res.path)后直接 赋值到全局 this.globalData.curPath = res.path;
//后续的方法执行的时候 判断下 this.globalData.curPath 是否存在,不存在返回。
wx.onAppRoute((res) => {
wx.hideHomeButton(); //隐藏新版小程序左上角的home图标
that.globalData.curPath = res.path;
console.log('onLaunch-curPath', that.globalData.curPath);
})
},
globalData: {
curPath:''
}
页面中调用:
//在 onLoad 或者 onShow 中
onLoad(){
app.appInt().then(res=>{
console.log('login-onShow', app.globalData.userInfo);
//启动 业务逻辑
...
})
}
↓ 查看全文
微信小程序app.js初始化全局数据由懒人建站收集整理,您可以自由传播,请主动带上本文链接
懒人建站就是免费分享,觉得有用就多来支持一下,没有能帮到您,懒人也只能表示遗憾,希望有一天能帮到您。
- 上一篇:微信小程序源码提取反编译
- 下一篇:微信开发者工具自定义代码全部折叠展开快捷键
微信小程序app.js初始化全局数据-最新评论