zoukankan      html  css  js  c++  java
  • 微信小程序onLaunch、onLoad执行生命周期

    原文转载自:微信小程序onLaunch、onLoad执行生命周期

    1、需求:先执行App的onLaunch添加验证权限等,再执行Page里的onLoad。

    2、问题:还没有等onLaunch执行完成,onLoad就已经开始执行了。

    3、解决办法:定义回调函数。

    4、具体实现:Page页面判断一下当前app.globalData.employld是否有值,如果没有(第一次)定义一个app方法(回调函数),App页面在success后判断有没有page页面定义的回调方法,如果有就执行,因为回调函数是在Page页面内,方法作用域应指向的是Page页面。

      

    app.employIdCallback = employId => {...}。

    App.js

    App({
        onLaunch:function(){
            wx.request({
                url: 'test.php', 
                succrss:(res)=>{
                    this.globalData.employId = res.employId;
                    //由于这里是网络请求,可能会在 Page.onLoad 之后才返回
                    // 所以此处加入 callback 以防止这种情况
                    if (this.employIdCallback){
                       this.employIdCallback(employId);
                    }
                }
            })
        },
        globalData: {
            employId: ''
        }
    });    

    index.js

    //获取应用实例
    const app = getApp()
    
    Page({
        data:{},
        onLoad:function(){
            //判断是用户是否执行完了请求,绑定了信息
            if (app.globalData.employId && app.globalData.employId != '') {
            //执行操作
         }else{
          //由于请求是网络请求,可能会在Page.onLoad后才返回
          //所以加入callback 防止这种情况
          app.employIdCallback = employId =>{
            if(employId!=''){
              //执行操作。。
            }
          }
        } 
    })

    实现~

  • 相关阅读:
    洛谷P1880 石子合并
    洛谷P3265 装备购买
    bzoj1345 序列问题
    从群里抄来的某题
    poj2689 Prime Distance
    灯 & 树
    [HNOI2013]游走
    A
    B
    hdu 1247 Hat’s Words(字典树)
  • 原文地址:https://www.cnblogs.com/xinchenhui/p/10606179.html
Copyright © 2011-2022 走看看