智能客服
你问我答,随时在线为你解决问题
组件的生命周期,指的是组件自身的一些方法会在组件生命流程特定的阶段触发。目前支持的生命周期包括 created、attached、ready、detached,具体说明如下:
生命周期方法可以直接定义在 Component 构造器的顶层参数中,也可以在 lifetimes 字段内进行声明(推荐这种写法,lifetimes中优先级最高,会覆盖顶层参数中的同名方法)。
示例代码如下:
Component({
lifetimes: {
attached: function() {
// 在组件实例进入页面节点树时执行
},
detached: function() {
// 在组件实例被从页面节点树移除时执行
},
},
// 以下是旧式的定义方式
created: function() {
// 在组件实例刚刚被创建时执行
},
detached: function() {
// 在组件实例被从页面节点树移除时执行
},
// ...
}); 在 behaviors 中也可以编写生命周期方法,同时不会与其他 behaviors 中的同名生命周期相互覆盖。但要注意,如果一个组件多次直接或间接引用同一个 behavior ,这个 behavior 中的生命周期函数在一个执行时机内只会执行一次。
可用的全部生命周期如下表所示。
| 生命周期 | 参数 | 描述 |
|---|---|---|
| created | 无 | 在组件实例刚刚被创建时执行。 |
| attached | 无 | 在组件实例进入页面节点树时执行。 |
| ready | 无 | 在组件在渲染层布局完成后执行。 |
| detached | 无 | 在组件实例被从页面节点树移除时执行。 |
部分情况下组件需要获悉所在页面的状态变化,比如显示、隐藏切换变化等,这时可以使用 pageLifetimes 定义方法监听。这些方法也称为“组件所在页面的生命周期”。
示例代码如下:
Component({
pageLifetimes: {
show: function() {
// 页面显示时触发
},
hide: function() {
// 页面隐藏时触发
}
}
}); 其中可用的生命周期包括:
| 生命周期 | 参数 | 描述 |
|---|---|---|
| show | 无 | 组件所在的页面显示时执行。 |
| hide | 无 | 组件所在的页面隐藏时执行。 |