一、小程序生命周期

小程序的生命周期函数是在 app.js 里面调用的。

生命周期 参数 描述
onLaunch 在小程序初始化完成时执行(全局只触发一个)
onShow 在小程序启动,或从后台进入前台时执行
onHide 在小程序隐藏,或从前台进入后台时执行
onError 在小程序发生脚本错误,或者api调用失败时触发,会带上错误信息
onPageNotFound 在组件实例被从页面节点树移除时执行
  1. // app.js
  2. App({
  3. onLaunch() {
  4. },
  5. onShow() {
  6. }
  7. })

二、页面的生命周期

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

生命周期 参数 描述
onLoad options 在页面加载时执行
onReady 在页面初次渲染完成时执行
onShow 在页面显示时执行
onHide 在页面隐藏时执行
onUnload 在页面卸载时执行
  1. Page({
  2. onLoad() {
  3. },
  4. onShow() {
  5. }
  6. })

三、组件的生命周期

组件的生命周期方法可以直接定义在 Component构造器的第一级参数中。
自小程序基础库版本 2.2.3 起,组件的的生命周期也可以在 lifetimes 字段内进行声明(这是推荐的方式,其优先级最高)。
组件的生命周期如下表所示:

生命周期 参数 描述 最低版本
created 在组件实例刚被创建时执行 1.6.3
attached 在组件实例进入页面节点树时执行 1.6.3
ready 在组件在视图层布局完成后执行 1.6.3
moved 在组件实例被移动到节点树另一个位置时执行 1.6.3
detached 在组件实例被从页面节点树移除时执行 1.6.3
error Object Error 每当组件方法抛出错误时执行 2.4.1
  1. Component({
  2. // 2.2.3 之前
  3. created() {
  4. },
  5. // 2.2.3 以后
  6. lifetimes: {
  7. // 组件的生命周期函数
  8. created() {
  9. },
  10. attached() {
  11. }
  12. }
  13. })

四、组件所在页面的生命周期

还有一些特殊的生命周期,它们并非与组件有很强的关联,但有时组件需要获知,以便组件内部处理。这样的生命周期称为“组件所在页面的生命周期”,在 pageLifetimes 定义段中定义。其中可用的生命周期包括:

生命周期 参数 描述 最低版本
show 组件所在的页面被展示时执行 2.2.3
hide 组件所在的页面被隐藏时执行 2.2.3
resize Object Size 组件所在的页面尺寸变化时执行 2.4.0
  1. Component({
  2. pageLifetimes: {
  3. show() {
  4. }
  5. }
  6. })