欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信小程序開發(fā)中組件的生命周期詳細(xì)介紹

 更新時(shí)間:2022年08月23日 15:54:05   作者:蘇涼.py  
生命周期是指一個(gè)對(duì)象從創(chuàng)建→>運(yùn)行>銷毀的整個(gè)階段,強(qiáng)調(diào)的是一個(gè)時(shí)間段,文中介紹了小程序中組件的生命周期,需要的朋友可以參考下

組件的生命周期

組件的生命周期,指的是組件自身的一些函數(shù),這些函數(shù)在特殊的時(shí)間點(diǎn)或遇到一些特殊的框架事件時(shí)被自動(dòng)觸發(fā)。

其中,最重要的生命周期是 created、attached、 detached ,包含一個(gè)組件實(shí)例生命流程的最主要時(shí)間點(diǎn)。

自定義組件的生命周期函數(shù)

小程序組件可用的全部生命周期如下表所示:

生命周期函數(shù)參數(shù)描述說明
created在組件實(shí)例剛剛被創(chuàng)建時(shí)執(zhí)行
attached在組件實(shí)例進(jìn)入頁面節(jié)點(diǎn)樹時(shí)執(zhí)行
ready在組件在視圖層布局完成后執(zhí)行
moved在組件實(shí)例被移動(dòng)到節(jié)點(diǎn)樹另一個(gè)位置時(shí)執(zhí)行
detached在組件實(shí)例被從頁面節(jié)點(diǎn)樹移除時(shí)執(zhí)行
errorObject Error每當(dāng)組件方法拋出錯(cuò)誤時(shí)執(zhí)行

執(zhí)行順序

從該圖中可以看出組件的 ready 與 detached 執(zhí)行順序并沒有明確的先后關(guān)系。

組件常用的生命周期函數(shù)

在小程序組件中,最重要的生命周期函數(shù)有3個(gè),分別是created、attached.

detached。它們各自的特點(diǎn)。如下︰

  • 組件實(shí)例剛被創(chuàng)建好的時(shí)候,created生命周期函數(shù)會(huì)被觸發(fā),此時(shí)還不能調(diào)用setData,通常在這個(gè)生命周期函數(shù)中,只應(yīng)該用于給組件的this添加一些自定義的屬性字段在組件
  • 完全初始化完畢、進(jìn)入頁面節(jié)點(diǎn)樹后,attached生命周期函數(shù)會(huì)被觸發(fā),此時(shí), this.data已被初始化完畢。這個(gè)生命周期很有用,絕大多數(shù)初始化的工作可以在這個(gè)時(shí)機(jī)進(jìn)行(例如發(fā)請(qǐng)求獲取初始數(shù)據(jù))
  • 在組件離開頁面節(jié)點(diǎn)樹后,detached生命周期函數(shù)會(huì)被觸發(fā),退出一個(gè)頁面時(shí),會(huì)觸發(fā)頁面內(nèi)每個(gè)自定義組件的detached生命周期函數(shù)此時(shí)適合做一些清理性質(zhì)的工作

lifetimes節(jié)點(diǎn)

在小程序組件中,生命周期函數(shù)可以直接定義在Component構(gòu)造器的第一級(jí)參數(shù)中,可以在 lifetimes字段內(nèi)進(jìn)行聲明(這是推薦的方式,其優(yōu)先級(jí)最高)。如下:

Component({
	lifetimes:{
	   created(){
	       console.log('created');
	   },
	   attached(){
	       console.log('attached');
	   }
	}
)}

注意:若不寫在lifetime節(jié)點(diǎn)中且同時(shí)存在lifetime節(jié)點(diǎn),優(yōu)先執(zhí)行l(wèi)ifetime節(jié)點(diǎn)中的生命周期函數(shù),并覆蓋掉節(jié)點(diǎn)之外的生命周期函數(shù)。

組件所在頁面的生命周期函數(shù)

有時(shí),自定義組件的行為依賴于頁面狀態(tài)的變化,此時(shí)就需要用到組件所在頁面的生命周期。

在自定義組件中,組件所在頁面的生命周期函數(shù)有如下3個(gè),分別是:

生命周期函數(shù)參數(shù)描述
show組件所在的頁面被展示時(shí)執(zhí)行
hide組件所在的頁面被隱藏時(shí)執(zhí)行
resizeobject Size組件所在的頁面尺寸變化時(shí)執(zhí)行

pageLifetimes節(jié)點(diǎn)

組件所在頁面的生命周期函數(shù),需要定義在pageLifetimes節(jié)點(diǎn)中,如下:

Component({
	pageLifetimes:{
      	show(){
           console.log("show!!");
       },
       hide(){
           console.log("hide!!");
       },
       resize(){
           console.log("resize");
       }						
   }				
)}

當(dāng)頁面顯示和隱藏時(shí)觸發(fā)

到此這篇關(guān)于微信小程序開發(fā)中組件的生命周期詳細(xì)介紹的文章就介紹到這了,更多相關(guān)小程序生命周期內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論