小程序的生命周期分為 應用生命周期 、 頁面生命周期
App() 必須在 app.js 中調用,必須調用且 只能調用一次 ,app.js中定義了一些應用的生命周期函數
(1)onLaunch: 初始化小程序時觸發,全局只觸發一次
(2)onShow: 小程序初始化完成或用戶從後台切換到前台顯示時觸發
(3)onHide: 用戶從前台切換到後台隱藏時觸發
(4)onError: 小程序發生腳本錯誤,或者 api 調用失敗時,會觸發 onError 並帶上錯誤信息
後台:點悄讓襲擊左上角關閉,或者按了設備 Home 鍵離開微信,並沒有直接銷毀,而是進入後台
前台:再次進入微信或再次打開小程序,相當於從後台進入前台。
官方介紹 https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.html
js文件中定啟兄義了一些頁面生命周期函數,下面簡述下這些生命周期函數的方法作用
(1)onLoad:首次進入頁面載入時觸發,可以在 onLoad 的參數中獲取打開當前頁面路徑中的參數。
(2)onShow:載入完成後、後台切到前台或重新進入滑答頁面時觸發
(3)onReady:頁面首次渲染完成時觸發
(4)onHide:從前台切到後台或進入其他頁面觸發
(5)onUnload:頁面卸載時觸發
官方介紹 https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html
通過console.log驗證它們的觸發順序
以上是對生命周期粗略的認識,如有不足請指正~
參考鏈接 https://www.jianshu.com/p/2e48f2468d5f
2. 微信小程序怎麼主動調用生命周期函數
你好,
1.1 監聽頁來面載入自
onLoad: function (options) {},
一個頁面只會調用一次,可以在 onLoad 中獲取打開當前頁面所調用的 query 參數。
1.2 監聽頁面初次渲染完成
onReady: function () {},
一個頁面只會調用一次,代表頁面已經准備妥當,可以和視圖層進行交互。
1.3 監聽頁面顯示
onShow: function () {},
每次打開頁面都會調用一次。
1.3 監聽頁面隱藏
onHide: function () {},
當navigateTo或底部tab切換時調用。
1.4 監聽頁面卸載
onUnload: function () {},
當redirectTo或navigateBack的時候調用。
3. 微信小程序生命周期(onLoad,onHide,onShow,onReady,onUnload)
周期指程序從創建、到開始、暫停、喚起、停止、卸載的過程。下面從一下三個方面介紹微信 小程序 的生命周期:
應用生命周期
頁面生命周期
應用生命周期影響頁面生命周期
應用生命周期
1、用戶首次打開兆散小程序,觸發 onLaunch(全局只觸發一次)。
2、小程序初始化完成後,觸發onShow方法,監聽小程序顯示。
3、小程序從前台進入後台,觸發 onHide方法。
4、小程序從後台進入前台顯示,觸發 onShow方法。
5、小程序後台運行一定時間,或系統資源佔用過高,會被銷毀。
前台、後台定義: 當用戶點擊左上角關閉,或者按了設備 Home 鍵離開微信,小程序並沒有直接銷毀,而是進入了後台;當再次進入微信或再次打開小程序,又會從後台進入前台。需要注意的是:只有當小程序進入後台一定時間,或者系統資源佔用過高,才會被真正的銷毀。
頁面生命周期
1、小程序注冊完成後,載入頁面,觸發onLoad方法,一個頁面只會調用一次。
2、頁面載入後觸發onShow方法,顯示頁面,每次打開頁面都會調用一次。
3、首次顯示頁面,會觸發onReady方法,渲染頁面元素和樣式,一個頁面只會調用一次。
4、當小程序後台運行或跳轉到其他頁面返猜做時,觸發onHide方法。
5、當小程序有後台進入到前台運行或重新進入頁面時,觸發onShow方法。
6、當使用重定向方法wx.redirectTo(OBJECT)或關閉當前頁返回上一頁wx.navigateBack(),觸發onUnload
wx.navigateTo跳轉狀態下,頁面A和頁面B的漏衡生命周期邏輯
1、進入A頁面:A執行onLoad()-->onShow()-->onReady();
2、A頁面navigateTo B頁面:A執行onHide(),B執行onLoad()-->onShow()-->onReady();
3、B頁面返回A頁面:B執行onUnload(),A執行onShow();
4、退出A頁面:A執行onUnload()。
應用生命周期影響頁面生命周期
1、小程序初始化完成後,頁面首次載入觸發onLoad,只會觸發一次。
2、當小程序進入到後台,先執行頁面onHide方法再執行應用onHide方法。
3、當小程序從後台進入到前台,先執行應用onShow方法再執行頁面onShow方法。