知识 分享 互助 懒人建站

    懒人建站专注于网页素材下载,提供网站模板、网页设计、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初始化全局数据-最新评论