W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
組件的生命周期,指的是組件自身的一些函數(shù),這些函數(shù)在特殊的時(shí)間點(diǎn)或遇到一些特殊的框架事件時(shí)被自動(dòng)觸發(fā)。
其中,最重要的生命周期是 created attached detached ,包含一個(gè)組件實(shí)例生命流程的最主要時(shí)間點(diǎn)。
生命周期方法可以直接定義在 Component 構(gòu)造器的第一級(jí)參數(shù)中。
自小程序基礎(chǔ)庫版本 2.2.3 起,組件的的生命周期也可以在 lifetimes 字段內(nèi)進(jìn)行聲明(這是推薦的方式,其優(yōu)先級(jí)最高)。
代碼示例:
Component({
lifetimes: {
attached: function() {
// 在組件實(shí)例進(jìn)入頁面節(jié)點(diǎn)樹時(shí)執(zhí)行
},
detached: function() {
// 在組件實(shí)例被從頁面節(jié)點(diǎn)樹移除時(shí)執(zhí)行
},
},
// 以下是舊式的定義方式,可以保持對(duì) <2.2.3 版本基礎(chǔ)庫的兼容
attached: function() {
// 在組件實(shí)例進(jìn)入頁面節(jié)點(diǎn)樹時(shí)執(zhí)行
},
detached: function() {
// 在組件實(shí)例被從頁面節(jié)點(diǎn)樹移除時(shí)執(zhí)行
},
// ...
})
在 behaviors 中也可以編寫生命周期方法,同時(shí)不會(huì)與其他 behaviors 中的同名生命周期相互覆蓋。但要注意,如果一個(gè)組件多次直接或間接引用同一個(gè) behavior ,這個(gè) behavior 中的生命周期函數(shù)在一個(gè)執(zhí)行時(shí)機(jī)內(nèi)只會(huì)執(zhí)行一次。
可用的全部生命周期如下表所示。
生命周期 | 參數(shù) | 描述 | 最低版本 |
---|---|---|---|
created | 無 | 在組件實(shí)例剛剛被創(chuàng)建時(shí)執(zhí)行 | 1.6.3 |
attached | 無 | 在組件實(shí)例進(jìn)入頁面節(jié)點(diǎn)樹時(shí)執(zhí)行 | 1.6.3 |
ready | 無 | 在組件在視圖層布局完成后執(zhí)行 | 1.6.3 |
moved | 無 | 在組件實(shí)例被移動(dòng)到節(jié)點(diǎn)樹另一個(gè)位置時(shí)執(zhí)行 | 1.6.3 |
detached | 無 | 在組件實(shí)例被從頁面節(jié)點(diǎn)樹移除時(shí)執(zhí)行 | 1.6.3 |
error | Object Error
|
每當(dāng)組件方法拋出錯(cuò)誤時(shí)執(zhí)行 | 2.4.1 |
還有一些特殊的生命周期,它們并非與組件有很強(qiáng)的關(guān)聯(lián),但有時(shí)組件需要獲知,以便組件內(nèi)部處理。這樣的生命周期稱為“組件所在頁面的生命周期”,在 pageLifetimes 定義段中定義。其中可用的生命周期包括:
生命周期 | 參數(shù) | 描述 | 最低版本 |
---|---|---|---|
show | 無 | 組件所在的頁面被展示時(shí)執(zhí)行 | 2.2.3 |
hide | 無 | 組件所在的頁面被隱藏時(shí)執(zhí)行 | 2.2.3 |
resize | Object Size
|
組件所在的頁面尺寸變化時(shí)執(zhí)行 | 2.4.0 |
代碼示例:
Component({
pageLifetimes: {
show: function() {
// 頁面被展示
},
hide: function() {
// 頁面被隱藏
},
resize: function(size) {
// 頁面尺寸變化
}
}
})
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: