生命周期

卡片内提供了各种各样的 JS 生命周期函数。在模板里实现如下的生命周期函数,则能在对应的时机调用该方法。

beforeCreate

beforeCreate 是在模版节点创建之前、JS 环境初始化的过程中所提供的一个生命周期函数。其主要作用是对服务端下发的数据进行数据预处理。

beforeCreate 生命周期方法的使用有以下限制:

  • 不能调用 JS API。

  • 不能使用异步的方法,例如:setTimeout setInterval

  • beforeCreate 方法无参数、无返回值。

  • 如果服务端下发字段不存在,在使用该字段时需要 try catch,否则发生异常时会导致模板渲染不成功。

onCreated

该方法是在模板节点创建完成之后再调用的接口。对于 JS 的写法无限制,一个模板只会调用一次。另外不要在该方法内修改 DOM 节点,可能会引起并发问题。

didAppear

该方法是在模板视图进入屏幕时调用。如果多次进入屏幕会调用多次。

didDisappear

该方法是在模板视图离开屏幕时调用。如果多次离开屏幕会调用多次。

onBackground

该方法是在应用进入后台时调用。如果多次进入后台会调用多次。

onForeground

该方法是在应用进入前台时调用。如果多次进入前台会调用多次。

onUpdated

该方法是在卡片更新时调用。其参数为变更的字段。

onDestroyed

该方法是在卡片销毁时调用。

onDestroyed 方法不具有调用 JS API、组件方法和定时器等有异步逻辑的能力。如果有需要,它能用来打印一个日志 console.info 或者取消定时器等业务逻辑。

注意事项

以上关于生命周期的方法,只支持如下写法,不支持箭头函数。

onCreated() {
        console.info();
}

示例代码

单击此处 detailLifeCycle.zip 获取完整示例代码。