微信小程序生命周期

通过学习小程序生命周期,我们可以对小程序有更好的理解, 可以知道,
在何时何地 , 可以发送一些异步请求、关闭一些定时器、监听错误代码

应用生命周期

指小程序的入口文件:app.js
小程序的应用生命周期指 app.js中的一系列事件

全局配置文件:app.js 的最外层是:App({ })
页面配置文件: 页面.js的最外层是: Page({ })
自定义组件: 组件.js的最外层是: Component({ })

onLaunch
应用第一次启动触发的事件: 后面再打开就不会触发
onShow
用户切换页面退出, 在回到小程序的时候触发
onHide
用户退出小程序页面的时候触发,比如用户去回消息,或者回到桌面
onError
应用代码发生报错的时候触发
onPageNotFound
应用第一次启动的时候, 如果找不到第一个入口页面, 才会触发

app.js:

//app.js
App({
  //1. 应用第一次启动触发的事件: 后面再打开就不会触发
  //用处: 在应用第一次启动的时候, 获取用户的个人信息, 就能在其他页面使用个人信息
  onLaunch(){
    console.log("onLaunch");
    //这里不能触发onPageNotFound事件
    // wx.navigateTo({
    //   url: '../11/11',
    // });
  },
  //2. 应用被用户 看到的时候触发
  //用户切换页面退出, 在回到小程序的时候触发, 这个事件经常被触发
  //用处: 用户重回页面的时候, 对数据进行重置
  onShow(){
    console.log("onShow");
  },
  //3. 应用被隐藏的时候触发 
  //用户退出小程序页面的时候触发,比如用户去回消息,或者回到桌面
  //用处: 暂停或者清除定时器
  onHide(){ 
    console.log("onHide");
  },
  //4. 应用代码发生报错的时候触发
  //打印参数,参数里面是报错信息
  //用处: 应用发生代码报错的时候, 收集用户报错信息, 通过一部请求, 将错误信息发送到后台去
  onError(err){
    console.log("onError");
    console.log(err);
  },
  //5. 页面找不到的时候触发
  //应用第一次启动的时候, 如果找不到第一个入口页面, 才会触发
  ///用处: 如果入口页面不存在了, 通过js跳转的方式重新跳转页面, 重新调到定义的第二个首页
  onPageNotFound(){
    console.log('onPageNotFound');
    //不能跳转达到tabbar页面 导航组件类似
    wx.navigateTo({
      url: 'pages/demo10/demo10',
    });
  }
})

页面生命周期

data
页面初始数据
onLoad
⽣命周期回调—监听⻚⾯加载
onShow
⽣命周期回调—监听⻚⾯显⽰
onReady
⽣命周期回调—监听⻚⾯初次渲染完成
onHide
⽣命周期回调—监听⻚⾯隐藏
onUnload
⽣命周期回调—监听⻚⾯卸载

onPullDownRefresh
监听⽤⼾下拉动作
onReachBottom
⻚⾯上拉触底事件的处理函数
onShareAppMessage
⽤⼾点击右上⻆转发
onPageScroll
⻚⾯滚动触发事件的处理函数
onResize
⻚⾯尺⼨改变时触发,详⻅?响应显⽰区域变化
onTabltemTap
当前是tab⻚时,点击tab时触发


Page({

  /**
   * 页面的初始数据
   */
  data: {
  },

  /**
   * 生命周期函数--监听页面加载
   * 在onLoad 中发送异步请求来初始化页面数据
   */
  onLoad: function (options) {
  },

  /**
   * 生命周期函数--监听页面显示
   *页面显示时候触发的事件
   */
  onShow: function () {
  },
    /**
   * 生命周期函数--监听页面初次渲染完成
   * 页面渲染完毕触发, 先触发onShow, 再触发onReady
   */
  onReady: function () {
  },

  /**
   * 生命周期函数--监听页面隐藏
   * 页面隐藏的时候触发,包含了应用隐藏,
   * 在页面跳转的时候也会触发
   */
  onHide: function () {
  },

  /**
   * 生命周期函数--监听页面卸载
   * 在页面跳转的时候,选择关闭当前页面(redirect),会触发,相当于卸载页面
   */
  onUnload: function () {
  },

  /** 
   * 页面相关事件处理函数--监听用户下拉动作
   * 用户下拉页面刷新页面的时候触发, 常用于初始化页面
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   * 当页面长度可以上下滑动, 划到最底下的时候, 触发
   * 用来加载下一页
   */
  onReachBottom: function () {
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
  },

  /**
   * 页面滚动就可以触发, 不用触底
   */
  onPageScroll () {
  },

  /**
   * 页面尺寸发生改变的时候触发, 
   * 用于:小程序发生横屏竖屏切换的时候触发,比如游戏
   * 开启横竖屏切换: 在页面json 中添加:  "pageOrientation": "auto"
   */
  onResize () {
    console.log("onResize");
  },

  /**
   * 1. 必须要求当前页面 也是tabbar页面
   * 2. 并且点击自己的tab item的时候才会触发
   */
  onTabItemTap () {
  }
})

生命周期图解

在这里插入图片描述

小程序第三方框架

  1. 腾讯 wepy 类似vue
  2. 美团 mpvue 类似Vue
  3. 京东 taro 类似React
  4. 滴滴 chameleon
  5. uni-app 类似Vue
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值