微信小程序的生命周期

app的生命周期

新建一个项目,打开app.js,可以看到App对象中有一个方法叫做onLaunch
这里写图片描述
除了这个方法,还有其他的app生命周期函数。

  //app.js
App({
  onLaunch: function () {
    // 展示本地存储能力
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)
    // 登录
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
      }
    })
    // 获取用户信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
          wx.getUserInfo({
            success: res => {
              // 可以将 res 发送给后台解码出 unionId
              this.globalData.userInfo = res.userInfo

              // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            }
          })
        }
      }
    })
    console.log("----onLaunch----")
  },
  onShow: function () {
    console.log("----onShow----")
  },
  onHide : function() {
    console.log("----onHide----")
  },

  globalData: {
    userInfo: null
  }
})

保存并编译项目,控制台有如下输出:
这里写图片描述
当程序处于后台时,会执行onHide
这里写图片描述
切换回前台,又会执行onShow
这里写图片描述
当我们手机界面处于小程序页面时,小程序就处在前台状态,如果这时来了一个电话,小程序会被电话的页面所覆盖,小程序就处于后台了,前后台的切换就会触发onHideonShow

阅读更多
个人分类: 微信小程序
上一篇微信小程序的配置详解
下一篇微信小程序页面的生命周期和参数传递
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭