微信小程序判斷頁面是否從其他頁面返回,具體內(nèi)容如下所示:
在 data 中自定義一個標(biāo)記變量,在onLoad里
Page({ data: { isNewOpen: true, //判斷當(dāng)前頁面是新打開還是從其他頁面返回 list: [], page: 0 }, onLoad: function() { this.getList() }, getList () { // ... }, goDetail (e) { this.setData({ isNewOpen: false }) wx.navigateTo({ url: `/pages/detail/detail`, }) }, onShow: function () {if (!this.data.isNewOpen) { this.setData({ page: 2, // 頁碼 isClose: true, list: [] }) this.getList() } }, })
ps:下面看下微信小程序 判斷當(dāng)前頁面是重新打開,還是從其他頁面返回
在小程序中設(shè)置變量用來判斷是否是從其他頁面返回
在 data 數(shù)據(jù)中聲明一個變量 isClose, 默認(rèn)為 true 。用來判斷是正常打開,還是從其他頁面返回。當(dāng)點(diǎn)擊跳轉(zhuǎn)頁面或者關(guān)閉小程序的時候,會觸發(fā) OnHide 函數(shù),在此函數(shù)中將判斷 isClose is true 的時候即為正常打開。當(dāng)跳轉(zhuǎn)頁面時首先將 isClose 設(shè)置為 false, 這樣 觸發(fā) OnHide 函數(shù)的時候,isClose is flase 并不會執(zhí)行,進(jìn)入跳轉(zhuǎn)的頁面,然后在由頁面進(jìn)行返回這是會觸發(fā)跳轉(zhuǎn)的頁面的 OnUnload 函數(shù) 在此函數(shù)中 設(shè)置一個定時器 在 200ms 之后將 isClose 改為 true 這樣當(dāng)關(guān)閉小程序 再次進(jìn)入的時候 isColse 依然為true 判斷時是首次進(jìn)入頁面
實(shí)例
data:
data: { isClose:true //判斷當(dāng)前頁面是打開還是返回頁 }
跳轉(zhuǎn)頁面:
this.setData({ isClose:false}) wx.navigateTo({ url: '../index/index?', })
onUnload:
/** * 生命周期函數(shù)--監(jiān)聽頁面卸載 */ onUnload: function () { var that =this setTimeout(function () { that.setData({ isClose: true }) }, 200) },
onHide:
/** * 生命周期函數(shù)--監(jiān)聽頁面隱藏 */ onHide: function () { if (this.data.isClose) { console.log('重新打開') } },
onShow:
/** * 生命周期函數(shù)--監(jiān)聽頁面顯示 */ onShow: function () { console.log(this.data.isClose) if (!this.data.isClose) { this.onLoad(); } },
總結(jié)
以上所述是小編給大家介紹的微信小程序判斷頁面是否從其他頁面返回的實(shí)例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com