小程序中组件的生命周期

1. 组件的主要生命周期

组件的生命周期,指的是组件自身的一些函数,这些函数在特殊的时间点或遇到一些特殊的框架事件时被自动触发,其中,最重要的生命周期是 created、attached、detached,包含一个组件实例生命流程的最主要时间点

  • 组件实例刚刚被创建好时,created 生命周期触发,此时还不能调用 setData,通常情况下,这个生命周期只应该用于给组件 this 添加一些自定义属性字段
  • 在组件完全初始化完毕、进入页面节点树后,attached 生命周期被触发,此时,this.data已被初始化完毕,此时可以调用 setData,这个生命周期很有用,绝大多数初始化工作可以在这个时机进行
  • 在组件离开页面节点树后,detached 生命周期被触发,退出一个页面时,如果组件还在页面节点树中,则detached 会被触发

2. 组件可用的全部生命周期函数

生命周期 参数 描述 最低版本
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

3. 定义组件的生命周期

生命周期方法可以直接定义在 Component 构造器的第一级参数中

自小程序基础库版本 2.2.3 起,组件的生命周期也可以在 lifetimes 字段内进行声明( 设置推荐的方式,其优先级最高)

示例代码如下:

Component({
    lifetimes:{
        attached(){},  //在组件实例进入页面节点树时执行
        detached(){},  //在组件实例被从页面节点树移除时执行
    },
    // 以下是旧式的定义方式,可以保持对 < 2.2.3 版本基础库的兼容
    attached(){}, // 在组件实例进入页面节点树时执行
    detached(){}, // 在组件实例被从页面节点树移除时执行
})

 

你可能感兴趣的:(小程序)