小程序中 判斷當前首頁是從其他頁面返回,還是由入口打開
由于小程序的數(shù)據(jù)在我們退出小程序時并沒有得到釋放,因此再次點擊開來數(shù)據(jù)依然沒有變成初始化
解決方法:在小程序 data 數(shù)據(jù)中聲明一個變量 isClose 默認為 true 用于判斷 是否為從入口打開,當點擊跳轉頁面或者關閉小程序的時候,會觸發(fā) OnHide 函數(shù)在此函數(shù)中將判斷 isClose is true 的時候即為關閉之后在打開,當跳轉頁面時首先將 isClose 設置為 false, 這樣 觸發(fā) OnHide 函數(shù)的時候,isClose is flase 并不會執(zhí)行,進入跳轉的頁面,然后在由頁面進行返回這是會觸發(fā)跳轉的頁面的 OnUnload 函數(shù) 在此函數(shù)中 設置一個定時器 在 200ms 之后將 isClose 改為 true 這樣當關閉小程序 再次進入的時候 isColse 依然為true 判斷時是首次進入頁面
微信小程序的生命周期函數(shù)
1.1 監(jiān)聽頁面加載
onLoad: function (options) {},
一個頁面只會調用一次,可以在 onLoad 中獲取打開當前頁面所調用的 query 參數(shù)。
1.2 監(jiān)聽頁面初次渲染完成
onReady: function () {},
一個頁面只會調用一次,代表頁面已經準備妥當,可以和視圖層進行交互。
1.3 監(jiān)聽頁面顯示
onShow: function () {},
每次打開頁面都會調用一次。
1.3 監(jiān)聽頁面隱藏
onHide: function () {},
當navigateTo或底部tab切換時調用。
1.4 監(jiān)聽頁面卸載
onUnload: function () {},
當redirectTo或navigateBack的時候調用。
微信小程序的 app.js 中 獨有的 函數(shù)
2.1 監(jiān)聽小程序初始化
onLaunch:function () {},
當小程序初始化完成時,會觸發(fā) onLaunch(全局只觸發(fā)一次)
2.2 錯誤監(jiān)聽函數(shù)
onError:function () {},
當小程序發(fā)生腳本錯誤,或者 api 調用失敗時,會觸發(fā) onError 并帶上錯誤信息
|