導語:
最近剛接觸到小程序,在測試時發現退出小程序後小程序中的資料並沒有釋放,因此當我再次打開小數據時,數據並沒有初始化。那我們該如何解決這個問題呢?
解決想法:
首先在小程式data資料中宣告一個變數isClose,預設為true,用於判斷是否是從小程式入口開啟。當使用者點擊跳轉頁面或關閉小程式時,會觸發OnHide函數,此時,在該函數中將判斷isClose isTrue,表示關閉後再開啟。當頁面跳轉時,首先會將isClose設為false,這樣觸發OnHide函數時,isClose is false 並不會執行,然後進入跳轉的頁面,再由頁面進行傳回。
在OnUnload函數中,設定一個計時器,200ms之後將isClose改為true,這樣當關閉小程式並再次進入時,isClose依然為true,判斷為首次進入頁面。
小程式的生命週期函數如下:
1.1 監聽頁面載入
onLoad: function (options) {},
一個頁面只會呼叫一次,可以在onLoad 中取得開啟目前頁面所呼叫的query參數。
1.2 監聽頁面初次渲染完成
onReady: function () {},
一個頁面只會呼叫一次,代表頁面已經準備妥當,可以和視圖層互動。
1.3 監聽頁面顯示
onShow: function () {},
每次開啟頁面都會呼叫一次。
1.3 監聽頁隱藏
onHide: function () {},
當navigateTo或底部tab切換時呼叫。
(學習影片分享:php影片教學)
1.4 監聽頁面卸載
onUnload: function () {},
當redirectTo或navigateBack的時候呼叫。
微信小程式的app.js 中獨有的函數
2.1 監聽小程式初始化
onLaunch:function () {},
當小程式初始化完成時,會觸發onLaunch(全域只觸發一次)
2.2 錯誤監聽函數
onError:function () {},
當小程式發生腳本錯誤,或api 呼叫失敗時,會觸發onError 並帶上錯誤訊息
#相關建議:小程式開發教學
以上是小程式生命週期函數有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!