微信小程序app.js初始化全局数据
作者:相伴醉晚风 2020-02-21 人气:微信小程序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初始化全局数据-最新评论