知识 分享 互助 懒人建站

懒人建站专注于网页素材下载,提供网站模板、网页设计、ps素材、图片素材等,服务于【个人站长】【网页设计师】和【web开发从业者】的代码素材与设计素材网站。

懒人建站提供网页素材下载、网站模板
知识 分享 互助!

微信小程序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初始化全局数据-最新评论