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

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

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

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

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

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

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

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

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

onLoad: function (options) {},

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

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

onReady: function () {},

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

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

onShow: function () {},

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

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

onHide: function () {},

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

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

onUnload: function () {},

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

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

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

onLaunch:function () {},

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

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

onError:function () {},

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

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