商城系統(tǒng) 注冊(cè)

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

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

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

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

由于小程序的數(shù)據(jù)在我們退出小程序時(shí)并沒(méi)有得到釋放,因此再次點(diǎn)擊開(kāi)來(lái)數(shù)據(jù)依然沒(méi)有變成初始化

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

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

1.1 監(jiān)聽(tīng)頁(yè)面加載

onLoad: function (options) {},

一個(gè)頁(yè)面只會(huì)調(diào)用一次,可以在 onLoad 中獲取打開(kāi)當(dāng)前頁(yè)面所調(diào)用的 query 參數(shù)。

1.2 監(jiān)聽(tīng)頁(yè)面初次渲染完成

onReady: function () {},

一個(gè)頁(yè)面只會(huì)調(diào)用一次,代表頁(yè)面已經(jīng)準(zhǔn)備妥當(dāng),可以和視圖層進(jìn)行交互。

1.3 監(jiān)聽(tīng)頁(yè)面顯示

onShow: function () {},

每次打開(kāi)頁(yè)面都會(huì)調(diào)用一次。

1.3 監(jiān)聽(tīng)頁(yè)面隱藏

onHide: function () {},

當(dāng)navigateTo或底部tab切換時(shí)調(diào)用。

1.4 監(jiān)聽(tīng)頁(yè)面卸載

onUnload: function () {},

當(dāng)redirectTo或navigateBack的時(shí)候調(diào)用。

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

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

onLaunch:function () {},

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

2.2 錯(cuò)誤監(jiān)聽(tīng)函數(shù)

onError:function () {},

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

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