解释:自定义组件的生命周期,指的是组件自身的一些可自执行的方法,这些方法会在特殊的时间点或遇到一些特殊页面行为时被自动触发而执行。

组件的生命周期:created 、 attached 、 ready 、 detached ,这些方法包含了一个组件实例生命流程的主要时间点,具体的使用场景如下:
生命周期方法可以直接定义在 Component 构造器的第一级参数中。
除了以上声明方式,还可以在 lifetimes 字段内进行声明(推荐使用这种方式进行管理,其优先级最高)。
代码示例
// 自定义组件js文件Component({// ...lifetimes: {attached: function() {// 在组件实例进入页面节点树时执行},detached: function() {// 在组件实例被从页面节点树移除时执行}}// ...});
在内置 behaviors 中也可以编写生命周期方法,但不会与其他 behaviors 中的同名生命周期相互覆盖。
当前自定义组件可用的全部生命周期及其描述如下表所示:
| 生命周期 | 参数 | 描述 | 最低版本 |
|---|---|---|---|
| created | 无 | 在组件实例刚刚被创建时执行 | 1.10.13 |
| attached | 无 | 在组件实例进入页面节点树时执行 | 1.10.13 |
| ready | 无 | 在组件在视图层布局完成后执行 | 1.10.13 |
| detached | 无 | 在组件实例被从页面节点树移除时执行 | 1.10.13 |
| onInit | Object页面路由携带的参数对象 | 【仅在使用 Component 构造器构造页面时有效】在组件页面初始化时执行,与 Page.onInit 使用方法一致,参见在 onInit 请求首屏主数据 | 3.260.6 |
| onLoad | Object页面路由携带的参数对象 | 【仅在使用 Component 构造器构造页面时有效】在组件页面加载后执行 | 1.10.13 |
还有一些特殊的生命周期,它们并非与组件有很强的关联,但有时组件需要获知,以便组件内部处理。这样的生命周期称为“组件所在页面的生命周期”,在 pageLifetimes 定义段中定义。其中可用的生命周期包括:
| 生命周期 | 参数 | 描述 | 最低版本 |
|---|---|---|---|
| show | 无 | 组件所在的页面被展示时执行 | 1.10.13 |
| hide | 无 | 组件所在的页面被隐藏时执行 | 1.10.13 |
代码示例
// 自定义组件js文件Component({// ...pageLifetimes: {show: function() {// 组件所在的页面被展示时触发},hide: function() {// 组件所在的页面被隐藏时触发}}// ...});