一、小程序生命周期
小程序的生命周期函数是在 app.js 里面调用的。
| 生命周期 | 参数 | 描述 |
|---|---|---|
| onLaunch | 无 | 在小程序初始化完成时执行(全局只触发一个) |
| onShow | 无 | 在小程序启动,或从后台进入前台时执行 |
| onHide | 无 | 在小程序隐藏,或从前台进入后台时执行 |
| onError | 无 | 在小程序发生脚本错误,或者api调用失败时触发,会带上错误信息 |
| onPageNotFound | 无 | 在组件实例被从页面节点树移除时执行 |
// app.jsApp({onLaunch() {},onShow() {}})
二、页面的生命周期
页面的生命周期方法可以直接定义在 Page 构造器的第一级参数中。
| 生命周期 | 参数 | 描述 |
|---|---|---|
| onLoad | options | 在页面加载时执行 |
| onReady | 无 | 在页面初次渲染完成时执行 |
| onShow | 无 | 在页面显示时执行 |
| onHide | 无 | 在页面隐藏时执行 |
| onUnload | 无 | 在页面卸载时执行 |
Page({onLoad() {},onShow() {}})
三、组件的生命周期
组件的生命周期方法可以直接定义在 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 |
Component({// 2.2.3 之前created() {},// 2.2.3 以后lifetimes: {// 组件的生命周期函数created() {},attached() {}}})
四、组件所在页面的生命周期
还有一些特殊的生命周期,它们并非与组件有很强的关联,但有时组件需要获知,以便组件内部处理。这样的生命周期称为“组件所在页面的生命周期”,在 pageLifetimes 定义段中定义。其中可用的生命周期包括:
| 生命周期 | 参数 | 描述 | 最低版本 |
|---|---|---|---|
| show | 无 | 组件所在的页面被展示时执行 | 2.2.3 |
| hide | 无 | 组件所在的页面被隐藏时执行 | 2.2.3 |
| resize | Object Size |
组件所在的页面尺寸变化时执行 | 2.4.0 |
Component({pageLifetimes: {show() {}}})
