zoukankan      html  css  js  c++  java
  • 小程序生命周期(onLaunch、onShow、onHide、onReady、onLoad、onUnloa)

    (1)onlaunch:当小程序初始化完成时,会触发 onLaunch(全局只触发一次)(app.js);
    (2)onLoad: 页面加载
    小程序注册完成后,加载页面,触发onLoad方法。一个页面只会调用一次,可以在 onLoad 中获取打开当前页面所调用的 query 参数(页面js)。
    (3)onShow: 页面显示
    页面载入后触发onShow方法,显示页面。每次打开页面都会调用一次(比如当小程序有后台进入到前台运行或重新进入页面时)。
    (4)onReady: 首次显示页面,页面初次渲染完成,会触发onReady方法,渲染页面元素和样式,一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。对界面的设置如wx.setNavigationBarTitle请在onReady之后设置。
    (5)onHide: 页面隐藏
    当navigateTo或底部tab切换时调用。
    (6)onUnload: 页面卸载
    当使用重定向方法wx.redirectTo(OBJECT)或关闭当前页返回上一页wx.navigateBack的时候调用。
    基本上可以说执行顺序为onLaunch–onLoad–onShow–onReady–onHide.
    虽然说onLaunch在onLoad之前执行,但是在onLaunch里请求获取是否有权限,等待返回值的时候Page里的onLoad事件就已经执行了。
    解决办法:
    在APP里面onLanch中的网络请求中设置判断

    if (this.userInfoReadyCallback) {
       this.userInfoReadyCallback(res)
    }


    在page的onLoad中设置一个回调

    app.userInfoReadyCallback = res => {
       if (res != '') {
         console.log("app.globalData.userInfo")
       }
    }

    .

  • 相关阅读:
    Oracle86和92语法的连接,子查询,集合的操作
    Oracle笛卡尔积,分组,多表连接
    Oracle排序,伪列,字符函数,数字函数,日期行数
    Oracle基本的数据类型以及简单sql查询
    用while语句打印阶乘
    Switch小练习
    if语句多表达式与一个表达式
    三元操作符
    整数的二进制表达
    与或
  • 原文地址:https://www.cnblogs.com/fightjianxian/p/11105019.html
Copyright © 2011-2022 走看看