0
点赞
收藏
分享

微信扫一扫

微信小程序 小程序的生命周期(三种)

全局生命周期的话就是 app.js 里面中的 

是App() 这个函数的:

微信小程序 小程序的生命周期(三种)_生命周期微信小程序 小程序的生命周期(三种)_数据_02

App({

  /**
   * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
   */
  onLaunch: function () {
    
  },

  /**
   * 当小程序启动,或从后台进入前台显示,会触发 onShow
   */
  onShow: function (options) {
    
  },

  /**
   * 当小程序从前台进入后台,会触发 onHide
   */
  onHide: function () {
    
  },

  /**
   * 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
   */
  onError: function (msg) {
    
  }
})

View Code

 

属性

类型

默认值

必填

说明

最低版本

​​onLaunch​​

function

 


生命周期回调——监听小程序初始化。//只会执行一次

 

​​onShow​​

function

 


生命周期回调——监听小程序启动或切前台。

 

​​onHide​​

function

 


生命周期回调——监听小程序切后台。

 

​​onError​​

function

 


错误监听函数。

 

​​onPageNotFound​​

function

 


页面不存在监听函数。//即入口页面不存在

​​1.9.90​​

​​onUnhandledRejection​​

function

 


未处理的 Promise 拒绝事件监听函数。

​​2.10.0​​

​​onThemeChange​​

function

 


监听系统主题变化

​​2.11.0​​

其他

any

 


开发者可以添加任意的函数或数据变量到 ​​Object​​​ 参数中,用 ​​this​​ 可以访问

 

你可以去测试下 其实不难。

 

页面的生命周期

页面的生命周期其实就是Page:

微信小程序 小程序的生命周期(三种)_ide_03

 

其次:

属性

                类型               

默认值

必填

说明

data

Object

 

 

页面的初始数据

options

Object

 

 

页面的组件选项,同 ​​Component​​​ 构造器 中的 ​​options​​ ,需要基础库版本 2.10.1

onLoad

function

 

 

生命周期回调—监听页面加载

onShow

function

 

 

生命周期回调—监听页面显示

onReady

function

 

 

生命周期回调—监听页面初次渲染完成

onHide

function

 

 

生命周期回调—监听页面隐藏

onUnload

function

 

 

生命周期回调—监听页面卸载

onPullDownRefresh

function

 

 

监听用户下拉动作

onReachBottom

function

 

 

页面上拉触底事件的处理函数

onShareAppMessage

function

 

 

用户点击右上角转发

onShareTimeline

function

 

 

用户点击右上角转发到朋友圈

onAddToFavorites

function

 

 

用户点击右上角收藏

onPageScroll

function

 

 

页面滚动触发事件的处理函数

onResize

function

 

 

页面尺寸改变时触发,详见 响应显示区域变化

onTabItemTap

function

 

 

当前是 tab 页时,点击 tab 时触发

onSaveExitState

function

 

 

页面销毁前保留状态回调

其他

any

 

 

开发者可以添加任意的函数或数据到 ​​Object​​​ 参数中,在页面的函数中用 ​​this​​ 可以访问

微信小程序 小程序的生命周期(三种)_生命周期微信小程序 小程序的生命周期(三种)_数据_02

Page({

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

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    
  },

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


微信小程序 小程序的生命周期(三种)_生命周期微信小程序 小程序的生命周期(三种)_数据_02

Page({

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

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log("options" + options);
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    console.log("渲染完成");
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    console.log("页面显示完成");
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    console.log("页面隐藏");
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    console.log("页面卸载");
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    console.log("下拉动作触发!");
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    console.log("拉触底事件");
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    console.log("已点击分享!");
  }
})

调试

 按照调试的来 调试一下即可

 

 

组件生命周期

组件的生命周期,指的是组件自身的一些函数,这些函数在特殊的时间点或遇到一些特殊的框架事件时被自动触发。

其中,最重要的生命周期是 ​​created​​​ ​​attached​​​ ​​detached​​ ,包含一个组件实例生命流程的最主要时间点。

  • 组件实例刚刚被创建好时,​​created​​​ 生命周期被触发。此时,组件数据​​this.data​​​ 就是在​​Component​​​ 构造器中定义的数据​​data​​ 。此时还不能调用 ​​setData​​ 。通常情况下,这个生命周期只应该用于给组件​​this​​ 添加一些自定义属性字段。
  • 在组件完全初始化完毕、进入页面节点树后,​​attached​​​ 生命周期被触发。此时,​​this.data​​ 已被初始化为组件的当前值。这个生命周期很有用,绝大多数初始化工作可以在这个时机进行。
  • 在组件离开页面节点树后,​​detached​​​ 生命周期被触发。退出一个页面时,如果组件还在页面节点树中,则​​detached​​ 会被触发。

定义生命周期方法

生命周期方法可以直接定义在 ​​Component​​ 构造器的第一级参数中。

自小程序基础库版本 ​​2.2.3​​​ 起,组件的的生命周期也可以在 ​​lifetimes​​ 字段内进行声明(这是推荐的方式,其优先级最高)。

     


作者:​​咸瑜​​​

举报

相关推荐

0 条评论