如何用ip地址做網(wǎng)站軟文推廣哪個(gè)平臺(tái)好
組件生命周期
組件的生命周期:指的是組件自身的一些鉤子函數(shù),這些函數(shù)在特定的時(shí)間節(jié)點(diǎn)時(shí)被自動(dòng)觸發(fā)
組件的生命周期函數(shù)需要在 lifetimes
字段內(nèi)進(jìn)行聲明
最重要的生命周期是 created
attached
detached
包含一個(gè)組件生命周期流程的最主要時(shí)間點(diǎn)
定義段 | 描述 |
---|---|
created | 在組件實(shí)例剛剛被創(chuàng)建時(shí)執(zhí)行,注意此時(shí)不能調(diào)用 setData (還沒(méi)有對(duì)模板解析) |
attached | 在組件實(shí)例進(jìn)入頁(yè)面節(jié)點(diǎn)樹(shù)時(shí)執(zhí)行 (模板已經(jīng)解析完畢,并且掛載到頁(yè)面上) |
ready | 在組件布局完成后執(zhí)行 |
moved | 在組件實(shí)例被移動(dòng)到節(jié)點(diǎn)樹(shù)另一個(gè)位置時(shí)執(zhí)行 |
detached | 在組件實(shí)例被從頁(yè)面節(jié)點(diǎn)樹(shù)移除時(shí)執(zhí)行 (組件被銷毀了) |
-
【組件實(shí)例剛剛被創(chuàng)建好時(shí)】,
created
生命周期被觸發(fā)。此時(shí),組件數(shù)據(jù)this.data
就是在Component
構(gòu)造器中定義的數(shù)據(jù)data
。 此時(shí)還不能調(diào)用setData
。 通常情況下,這個(gè)生命周期只應(yīng)該用于給組件this
添加一些自定義屬性字段。 -
【在組件完全初始化完畢】、進(jìn)入頁(yè)面節(jié)點(diǎn)樹(shù)后,
attached
生命周期被觸發(fā)。此時(shí),this.data
已被初始化為組件的當(dāng)前值。這個(gè)生命周期很有用,絕大多數(shù)初始化工作可以在這個(gè)時(shí)機(jī)進(jìn)行。 -
【在組件離開(kāi)頁(yè)面節(jié)點(diǎn)樹(shù)后】,
detached
生命周期被觸發(fā)。退出一個(gè)頁(yè)面時(shí),如果組件還在頁(yè)面節(jié)點(diǎn)樹(shù)中,則detached
會(huì)被觸發(fā)。
Component({lifetimes: {created: function () {// 在組件實(shí)例剛剛被創(chuàng)建時(shí)執(zhí)行,注意此時(shí)不能調(diào)用 setData // 一般用來(lái)為組件添加一些自定義屬性字段。},attached: function() {// attached 在組件完全初始化完畢、進(jìn)入頁(yè)面節(jié)點(diǎn)樹(shù)后執(zhí)行// 模板已經(jīng)解析完畢,并且掛載到頁(yè)面上// 一般都是在這里寫(xiě)對(duì)應(yīng)的交互},detached: function() {// 在組件實(shí)例被從頁(yè)面節(jié)點(diǎn)樹(shù)移除時(shí)執(zhí)行},// coding...}// coding...
})
組件所在頁(yè)面的生命周期
組件還有一些特殊的生命周期,這類生命周期和組件沒(méi)有很強(qiáng)的關(guān)聯(lián)
主要用于組件內(nèi)部監(jiān)聽(tīng)父組件的展示、隱藏狀態(tài),從而方便組件內(nèi)部執(zhí)行一些業(yè)務(wù)邏輯的處理
組件所在頁(yè)面的生命周期有 4 個(gè): show、 hide、 resize、 routeDone,需要在 pageLifetimes
字段內(nèi)進(jìn)行聲明
// components/custom06/custom06.js
Component({// coding...// 組件所在頁(yè)面的生命周期pageLifetimes: {// 監(jiān)聽(tīng)組件所在的頁(yè)面展示(后臺(tái)切前臺(tái))狀態(tài)show () {console.log('組件所在的頁(yè)面被展示')},// 監(jiān)聽(tīng)組件所在的頁(yè)面隱藏(前臺(tái)切后臺(tái)、點(diǎn)擊 tabBar)狀態(tài)hide () {console.log('組件所在的頁(yè)面被隱藏')}}})
小程序生命周期總結(jié)
小程序冷啟動(dòng),鉤子函數(shù)執(zhí)行的順序
保留當(dāng)前頁(yè)面(navigate) 以及 關(guān)閉當(dāng)前頁(yè)面(redirect)
切后臺(tái) 以及 切前臺(tái)(熱啟動(dòng))