生命周期
卡片內(nèi)提供了各種各樣的 JS 生命周期函數(shù)。在模板里實現(xiàn)如下的生命周期函數(shù),則能在對應(yīng)的時機調(diào)用該方法。
beforeCreate
beforeCreate 是在模版節(jié)點創(chuàng)建之前、JS 環(huán)境初始化的過程中所提供的一個生命周期函數(shù)。其主要作用是對服務(wù)端下發(fā)的數(shù)據(jù)進行數(shù)據(jù)預(yù)處理。
beforeCreate 生命周期方法的使用有以下限制:
不能調(diào)用 JS API。
不能使用異步的方法,例如:
setTimeout setInterval
。beforeCreate
方法無參數(shù)、無返回值。如果服務(wù)端下發(fā)字段不存在,在使用該字段時需要
try catch
,否則發(fā)生異常時會導(dǎo)致模板渲染不成功。
onCreated
該方法是在模板節(jié)點創(chuàng)建完成之后再調(diào)用的接口。對于 JS 的寫法無限制,一個模板只會調(diào)用一次。另外不要在該方法內(nèi)修改 DOM 節(jié)點,可能會引起并發(fā)問題。
didAppear
該方法是在模板視圖進入屏幕時調(diào)用。如果多次進入屏幕會調(diào)用多次。
didDisappear
該方法是在模板視圖離開屏幕時調(diào)用。如果多次離開屏幕會調(diào)用多次。
onBackground
該方法是在應(yīng)用進入后臺時調(diào)用。如果多次進入后臺會調(diào)用多次。
onForeground
該方法是在應(yīng)用進入前臺時調(diào)用。如果多次進入前臺會調(diào)用多次。
onUpdated
該方法是在卡片更新時調(diào)用。其參數(shù)為變更的字段。
onDestroyed
該方法是在卡片銷毀時調(diào)用。
onDestroyed 方法不具有調(diào)用 JS API、組件方法和定時器等有異步邏輯的能力。如果有需要,它能用來打印一個日志 console.info 或者取消定時器等業(yè)務(wù)邏輯。
注意事項
以上關(guān)于生命周期的方法,只支持如下寫法,不支持箭頭函數(shù)。
onCreated() {
console.info();
}
示例代碼
單擊此處 detailLifeCycle.zip 獲取完整示例代碼。