组件生命周期

    其中,最重要的生命周期是 attached detached ,包含一个组件实例生命流程的最主要时间点。

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

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

    代码示例:

    在 behaviors 中也可以编写生命周期方法,同时不会与其他 behaviors 中的同名生命周期相互覆盖。但要注意,如果一个组件多次直接或间接引用同一个 behavior ,这个 behavior 中的生命周期函数在一个执行时机内只会执行一次。

    组件所在页面的生命周期

    还有一些特殊的生命周期,它们并非与组件有很强的关联,但有时组件需要获知,以便组件内部处理。这样的生命周期称为“组件所在页面的生命周期”,在 pageLifetimes 定义段中定义。其中可用的生命周期包括:

    生命周期参数描述最低版本
    show组件所在的页面被展示时执行
    hide组件所在的页面被隐藏时执行2.2.3
    resizeObject Size组件所在的页面尺寸变化时执行

    代码示例:

    1. pageLifetimes: {
    2. // 页面被展示
    3. },
    4. hide: function() {
    5. },
    6. resize: function(size) {
    7. // 页面尺寸变化
    8. }
    9. }