小程序 – 自定义组件 – 生命周期函数
生命周期函数说明
小程序组件可用的全部生命周期如下表
生命周期函数 | 参数 | 描述说明 |
created | 无 | 在组件实例刚刚被创建时执行 |
attached | 无 | 在组件实例进入页面节点树时执行 |
ready | 无 | 在组件在视图层布局完成后执行 |
moved | 无 | 在组件实例被移动到节点树另一个位置时执行 |
detached | 无 | 在组件实例被从页面节点树移除时执行 |
error | Object Error | 每当组件方法抛出错误时执行 |
主要生命周期函数
在小程序组件中,最重要的生命周期函数有 3 个,分别是 created、attached、detached。
created
组件实例刚被创建好的时候,created 生命周期函数会被触发。
此时还不能调用 setData。
通常在这个生命周期函数中,只应该用于给组件的 this 添加一些自定义的属性字段。
attached
在组件完全初始化完毕、进入页面节点树后, attached 生命周期函数会被触发
此时, this.data 已被初始化完毕
这个生命周期很有用,绝大多数初始化的工作可以在这个时机进行(例如发请求获取初始数据)
detached
在组件离开页面节点树后, detached 生命周期函数会被触发
退出一个页面时,会触发页面内每个自定义组件的 detached 生命周期函数
此时适合做一些清理性质的工作
lifetimes 节点
在小程序组件中,生命周期函数可以直接定义在 Component 构造器的第一级参数中,可以在 lifetimes 字段内进行声明(这是推荐的方式,其优先级最高)
组件所在页面的生命周期
有时,自定义组件的行为依赖于页面状态的变化,此时就需要用到组件所在页面的生命周期。
例如:每当触发页面的 show 生命周期函数的时候,我们希望能够重新生成一个随机的 RGB 颜色值。
在自定义组件中,组件所在页面的生命周期函数有如下 3 个
生命周期函数 | 参数 | 描述 |
show | 无 | 组件所在的页面被展示时执行 |
hide | 无 | 组件所在的页面被隐藏时执行 |
resize | Object Size | 组件所在的页面尺寸变化时执行 |
pageLifetimes 节点
组件所在页面的生命周期函数,需要定义在 pageLifetimes 节点中
共有 0 条评论