1. 程式人生 > >微信小程式 生命週期函式

微信小程式 生命週期函式

小程式中 判斷當前首頁是從其他頁面返回,還是由入口開啟

由於小程式的資料在我們退出小程式時並沒有得到釋放,因此再次點選開來資料依然沒有變成初始化
解決方法:在小程式 data 資料中宣告一個變數 isClose 預設為 true 用於判斷 是否為從入口開啟,當點選跳轉頁面或者關閉小程式的時候,會觸發 OnHide 函式在此函式中將判斷 isClose is true 的時候即為關閉之後在開啟,當跳轉頁面時首先將 isClose 設定為 false, 這樣 觸發 OnHide 函式的時候,isClose is flase 並不會執行,進入跳轉的頁面,然後在由頁面進行返回這是會觸發跳轉的頁面的 OnUnload

函式 在此函式中 設定一個定時器 在 200ms 之後將 isClose 改為 true 這樣當關閉小程式 再次進入的時候 isColse 依然為true 判斷時是首次進入頁面

微信小程式的生命週期函式

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的時候呼叫。

微信小程式的 app.js 中 獨有的 函式

2.1 監聽小程式初始化

onLaunch:function () {},

當小程式初始化完成時,會觸發 onLaunch(全域性只觸發一次)

2.2 錯誤監聽函式

onError:function () {},

當小程式發生指令碼錯誤,或者 api 呼叫失敗時,會觸發 onError 並帶上錯誤資訊