小程序生命周期包含了三個部分?
應(yīng)用級別生命周期 (整個APP的生命周期)
頁面級別生命周期(單個頁面page的生命周期)
組件級別生命周期(組件component的生命周期)
應(yīng)用級別的生命周期 - App的生命周期
必須在 app.js 中調(diào)用,必須調(diào)用且只能調(diào)用一次。
-
onLaunch: 小程序初始化完成時觸發(fā),全局只觸發(fā)一次。
-
云開發(fā)的初始化 方便其他頁面直接調(diào)用云開發(fā)的SDK
-
發(fā)送請求獲取用戶的個人信息 方便其他頁面使用
-
獲取本地存儲數(shù)據(jù) 方便其他頁面使用
-
onShow:小程序啟動或切前臺顯示時觸發(fā)
-
重新啟動定時器 繼續(xù)定時執(zhí)行功能
-
重新觸發(fā)異步 獲取新的數(shù)據(jù)
-
重新啟動播放器等
-
onHide:小程序從前臺進(jìn)入后臺時觸發(fā)
-
當(dāng)暫停定時器
-
暫停視頻音頻的播放
-
onError:小程序發(fā)生腳本錯誤或 API 調(diào)用報錯時觸發(fā)。
-
收集錯誤信息 發(fā)送到后臺 進(jìn)行錯誤日志的記錄
-
彈出窗口提示用戶
-
onPageNotFound:小程序要打開的頁面不存在時觸發(fā)。
監(jiān)聽報錯,彈出窗口提示用戶
監(jiān)聽報錯,重新跳轉(zhuǎn)頁面
- onUnhandledRejection:小程序有未處理的 Promise 拒絕時觸發(fā)。
用在統(tǒng)一捕獲處理 可以在該生命周期中處理錯誤情況 ,一般是由于異步代碼出錯導(dǎo)致的
- onThemeChange:系統(tǒng)切換主題時觸發(fā)。
讓小程序可以跟著主題的切換 也改變小程序的UI風(fēng)格,使之體驗(yàn)更好!
頁面級別的生命周期 - 頁面(page)的生命周期
1.onLoad:頁面加載時執(zhí)行,只執(zhí)行一次;
2.onShow:頁面展示時執(zhí)行,執(zhí)行多次;
3.onReady:頁面初次渲染時執(zhí)行,只執(zhí)行一次;
4.onHide:頁面從前臺進(jìn)入后臺時執(zhí)行;
5.onUnload:頁面卸載時執(zhí)行
注意??:
當(dāng)切換頁面需要多次渲染數(shù)據(jù)改變狀態(tài),建議在onShow中使用,當(dāng)只需初始化一次的時候,可在onLoad或者onReady中使用。當(dāng)需要清除定時器時,可在onUnload中使用。
執(zhí)行順序:
onLoad --> onShow --> onReady --> onHide
組件(component)的生命周期
created(重要):組件實(shí)例剛剛被創(chuàng)建好時觸發(fā)。此時,組件數(shù)據(jù) this.data 就是在 Component 構(gòu)造器中定義的數(shù)據(jù) data 。 此時還不能調(diào)用 setData 。 通常情況下,這個生命周期只應(yīng)該用于給組件 this 添加一些自定義屬性字段。
attached(重要):在組件完全初始化完畢、進(jìn)入頁面節(jié)點(diǎn)樹后被觸發(fā)
此時, this.data 已被初始化為組件的當(dāng)前值。這個生命周期很有用,絕大多數(shù)初始化工作可以在這個時機(jī)進(jìn)行。
ready:在組件的視圖層布局完成后執(zhí)行
moved:在組件實(shí)例被移動到節(jié)點(diǎn)樹另一個位置時執(zhí)行
detached(重要):在組件離開頁面節(jié)點(diǎn)樹后被觸發(fā)
error:每當(dāng)組件方法拋出錯誤時執(zhí)行
總結(jié)生命周期執(zhí)行流程
-
打開小程序:
(App)onLaunch --> (App)onShow --> (Pages)onLoad --> (Pages)onShow --> (pages)onReady -
切換頁面:
(Pages)onHide --> (Next)onLoad --> (Next)onShow --> (Next)onReady -
返回上一個頁面:
(curr)onUnload --> (pre)onShow文章來源:http://www.zghlxwxcb.cn/news/detail-414776.html -
離開小程序:
(App)onHide文章來源地址http://www.zghlxwxcb.cn/news/detail-414776.html
到了這里,關(guān)于微信小程序生命周期的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!