下面從三個方面來介紹小程序的生命周期:
(1)應(yīng)用生命周期
(2)頁面生命周期
(3)應(yīng)用及頁面生命周期的觸發(fā)順序
1.應(yīng)用生命周期
App() 必須在 app.js 中調(diào)用,必須調(diào)用且只能調(diào)用一次咬摇,app.js中定義了一些應(yīng)用的生命周期函數(shù)
(1)onLaunch: 初始化小程序時觸發(fā)伐蒂,全局只觸發(fā)一次
(2)onShow: 小程序初始化完成或用戶從后臺切換到前臺顯示時觸發(fā)
(3)onHide: 用戶從前臺切換到后臺隱藏時觸發(fā)
(4)onError: 小程序發(fā)生腳本錯誤,或者 api 調(diào)用失敗時肛鹏,會觸發(fā) onError 并帶上錯誤信息
后臺: 點(diǎn)擊左上角關(guān)閉逸邦,或者按了設(shè)備 Home 鍵離開微信,并沒有直接銷毀龄坪,而是進(jìn)入后臺
前臺:再次進(jìn)入微信或再次打開小程序昭雌,相當(dāng)于從后臺進(jìn)入前臺。
官方介紹 https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html
2.頁面生命周期
js文件中定義了一些頁面生命周期函數(shù)健田,下面簡述下這些生命周期函數(shù)的方法作用
(1)onLoad:首次進(jìn)入頁面加載時觸發(fā),可以在 onLoad 的參數(shù)中獲取打開當(dāng)前頁面路徑中的參數(shù)佛纫。
(2)onShow:加載完成后妓局、后臺切到前臺或重新進(jìn)入頁面時觸發(fā)
(3)onReady:頁面首次渲染完成時觸發(fā)
(4)onHide:從前臺切到后臺或進(jìn)入其他頁面觸發(fā)
(5)onUnload:頁面卸載時觸發(fā)
官方介紹 https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html
3.應(yīng)用與頁面生命周期觸發(fā)順序
通過console.log驗(yàn)證它們的觸發(fā)順序
(1)從圖中可以看出,首次進(jìn)入小程序會先觸發(fā)應(yīng)用生命周期中onLaunch方法和onShow方法呈宇,其次觸發(fā)頁面生命周期中onLoad好爬、onShow和onReady方法。
(2)前臺切換到后臺時甥啄,先觸發(fā)頁面生命周期中onHide方法存炮,再觸發(fā)應(yīng)用生命周期的onHide方法。
(3)后臺切換到前臺時蜈漓,先觸發(fā)應(yīng)用生命周期中onShow方法穆桂,再觸發(fā)頁面生命周期的onShow方法。
以上是對生命周期粗略的認(rèn)識融虽,如有不足請指正享完!