商城系統(tǒng) 注冊

微信小程序 生命周期函數(shù)解析

2018-06-26|HiShop
導(dǎo)讀:微信小程序 生命周期函數(shù)解析。小程序中 判斷當前首頁是從其他頁面返回,還是由入口打開。 由于小程序的數(shù)據(jù)在我們退出小程序時并沒有得到釋放,因此再次點擊開來數(shù)據(jù)依然沒有...

微信小程序 生命周期函數(shù)解析。小程序中 判斷當前首頁是從其他頁面返回,還是由入口打開。

微信小程序 生命周期函數(shù)解析

由于小程序的數(shù)據(jù)在我們退出小程序時并沒有得到釋放,因此再次點擊開來數(shù)據(jù)依然沒有變成初始化

解決方法:在小程序 data 數(shù)據(jù)中聲明一個變量 isClose 默認為 true 用于判斷 是否為從入口打開,當點擊跳轉(zhuǎn)頁面或者關(guān)閉小程序的時候,會觸發(fā) OnHide 函數(shù)在此函數(shù)中將判斷 isClose is true 的時候即為關(guān)閉之后在打開,當跳轉(zhuǎn)頁面時首先將 isClose 設(shè)置為 false, 這樣 觸發(fā) OnHide 函數(shù)的時候,isClose is flase 并不會執(zhí)行,進入跳轉(zhuǎn)的頁面,然后在由頁面進行返回這是會觸發(fā)跳轉(zhuǎn)的頁面的 OnUnload 函數(shù) 在此函數(shù)中 設(shè)置一個定時器 在 200ms 之后將 isClose 改為 true 這樣當關(guān)閉小程序 再次進入的時候 isColse 依然為true 判斷時是首次進入頁面

微信小程序的生命周期函數(shù)

1.1 監(jiān)聽頁面加載

onLoad: function (options) {},

一個頁面只會調(diào)用一次,可以在 onLoad 中獲取打開當前頁面所調(diào)用的 query 參數(shù)。

1.2 監(jiān)聽頁面初次渲染完成

onReady: function () {},

一個頁面只會調(diào)用一次,代表頁面已經(jīng)準備妥當,可以和視圖層進行交互。

1.3 監(jiān)聽頁面顯示

onShow: function () {},

每次打開頁面都會調(diào)用一次。

1.3 監(jiān)聽頁面隱藏

onHide: function () {},

當navigateTo或底部tab切換時調(diào)用。

1.4 監(jiān)聽頁面卸載

onUnload: function () {},

當redirectTo或navigateBack的時候調(diào)用。

微信小程序的 app.js 中 獨有的 函數(shù)

2.1 監(jiān)聽小程序初始化

onLaunch:function () {},

當小程序初始化完成時,會觸發(fā) onLaunch(全局只觸發(fā)一次)

2.2 錯誤監(jiān)聽函數(shù)

onError:function () {},

當小程序發(fā)生腳本錯誤,或者 api 調(diào)用失敗時,會觸發(fā) onError 并帶上錯誤信息。

電話咨詢 預(yù)約演示 0元開店