生命周期
(1)组件的生命周期(created、attached、ready、moved、detached)
- created
触发时机:组件实例刚刚被创建好时, created
生命周期被触发。
此时,组件数据 this.data
就是在 Component
构造器中定义的数据 data
。
此时还不能调用 setData
。
可做事情: 通常情况下,这个生命周期只应该用于给组件 this
添加一些自定义属性字段。
- attached
触发时机:在组件完全初始化完毕、进入页面节点树后, attached
生命周期被触发。
此时, this.data
已被初始化为组件的当前值。
可做事情:这个生命周期很有用,绝大多数初始化工作可以在这个时机进行。
- detached
触发时机:在组件离开页面节点树后, detached
生命周期被触发。退出一个页面时,如果组件还在页面节点树中,则 detached
会被触发。
// 生命周期方法可以直接定义在 Component 构造器的第一级参数中。
// 自小程序基础库版本 2.2.3 起,组件的的生命周期也可以在 lifetimes 字段内进行声明(这是推荐的方式,其优先级最高)。Component({lifetimes: {attached: function() {// 在组件实例进入页面节点树时执行},detached: function() {// 在组件实例被从页面节点树移除时执行},},// 以下是旧式的定义方式,可以保持对 <2.2.3 版本基础库的兼容attached: function() {// 在组件实例进入页面节点树时执行},detached: function() {// 在组件实例被从页面节点树移除时执行},// ... })
(2)组件所在页面的生命周期(show、hide、resize)
Component({pageLifetimes: {show: function() {// 页面被展示},hide: function() {// 页面被隐藏},resize: function(size) {// 页面尺寸变化}} })