新聞中心
- 組件生命周期
- 組件的主要生命周期
- 定義生命周期方法
- 組件所在頁面的生命周期
組件生命周期
組件的主要生命周期
解釋:自定義組件的生命周期,指的是組件自身的一些可自執(zhí)行的方法,這些方法會(huì)在特殊的時(shí)間點(diǎn)或遇到一些特殊頁面行為時(shí)被自動(dòng)觸發(fā)而執(zhí)行。

組件的生命周期:created 、 attached 、 ready 、 detached ,這些方法包含了一個(gè)組件實(shí)例生命流程的主要時(shí)間點(diǎn),具體的使用場(chǎng)景如下:
- created:組件實(shí)例剛剛被創(chuàng)建好時(shí), created 生命周期被觸發(fā),通常情況下,這個(gè)生命周期只應(yīng)該用于給組件 this 添加一些自定義屬性字段;
- attached:在組件完全初始化完畢、進(jìn)入頁面節(jié)點(diǎn)樹后, attached 生命周期被觸發(fā)。此時(shí), this.data 已被初始化為組件的當(dāng)前值。這個(gè)生命周期很有用,絕大多數(shù)初始化工作可以在這個(gè)時(shí)機(jī)進(jìn)行;
- ready:在 attached 生命周期被觸發(fā)之后,組件的 ready 生命周期會(huì)被觸發(fā);
- detached:在組件離開頁面節(jié)點(diǎn)樹后, detached 生命周期被觸發(fā)。退出一個(gè)頁面時(shí),如果組件還在頁面節(jié)點(diǎn)樹中,則 detached 方法會(huì)被觸發(fā)。
定義生命周期方法
生命周期方法可以直接定義在 Component 構(gòu)造器的第一級(jí)參數(shù)中。
除了以上聲明方式,還可以在 lifetimes 字段內(nèi)進(jìn)行聲明(推薦使用這種方式進(jìn)行管理,其優(yōu)先級(jí)最高)。
代碼示例
// 自定義組件js文件Component({// ...lifetimes: {attached: function() {// 在組件實(shí)例進(jìn)入頁面節(jié)點(diǎn)樹時(shí)執(zhí)行},detached: function() {// 在組件實(shí)例被從頁面節(jié)點(diǎn)樹移除時(shí)執(zhí)行}}// ...});
在內(nèi)置 behaviors 中也可以編寫生命周期方法,但不會(huì)與其他 behaviors 中的同名生命周期相互覆蓋。
當(dāng)前自定義組件可用的全部生命周期及其描述如下表所示:
| 生命周期 | 參數(shù) | 描述 | 最低版本 |
|---|---|---|---|
| created | 無 | 在組件實(shí)例剛剛被創(chuàng)建時(shí)執(zhí)行 | 1.10.13 |
| attached | 無 | 在組件實(shí)例進(jìn)入頁面節(jié)點(diǎn)樹時(shí)執(zhí)行 | 1.10.13 |
| ready | 無 | 在組件在視圖層布局完成后執(zhí)行 | 1.10.13 |
| detached | 無 | 在組件實(shí)例被從頁面節(jié)點(diǎn)樹移除時(shí)執(zhí)行 | 1.10.13 |
| onInit | Object頁面路由攜帶的參數(shù)對(duì)象 | 【僅在使用 Component 構(gòu)造器構(gòu)造頁面時(shí)有效】在組件頁面初始化時(shí)執(zhí)行,與 Page.onInit 使用方法一致,參見在 onInit 請(qǐng)求首屏主數(shù)據(jù) | 3.260.6 |
| onLoad | Object頁面路由攜帶的參數(shù)對(duì)象 | 【僅在使用 Component 構(gòu)造器構(gòu)造頁面時(shí)有效】在組件頁面加載后執(zhí)行 | 1.10.13 |
組件所在頁面的生命周期
還有一些特殊的生命周期,它們并非與組件有很強(qiáng)的關(guān)聯(lián),但有時(shí)組件需要獲知,以便組件內(nèi)部處理。這樣的生命周期稱為“組件所在頁面的生命周期”,在 pageLifetimes 定義段中定義。其中可用的生命周期包括:
| 生命周期 | 參數(shù) | 描述 | 最低版本 |
|---|---|---|---|
| show | 無 | 組件所在的頁面被展示時(shí)執(zhí)行 | 1.10.13 |
| hide | 無 | 組件所在的頁面被隱藏時(shí)執(zhí)行 | 1.10.13 |
代碼示例
// 自定義組件js文件Component({// ...pageLifetimes: {show: function() {// 組件所在的頁面被展示時(shí)觸發(fā)},hide: function() {// 組件所在的頁面被隱藏時(shí)觸發(fā)}}// ...});
網(wǎng)頁標(biāo)題:創(chuàng)新互聯(lián)百度小程序教程:組件生命周期
標(biāo)題URL:http://m.5511xx.com/article/coedhoh.html


咨詢
建站咨詢
