微信小程序判斷頁(yè)面是否從其他頁(yè)面返回的實(shí)例代碼
微信小程序判斷頁(yè)面是否從其他頁(yè)面返回,具體內(nèi)容如下所示:
在 data 中自定義一個(gè)標(biāo)記變量,在onLoad里
Page({ data: { isNewOpen: true, //判斷當(dāng)前頁(yè)面是新打開(kāi)還是從其他頁(yè)面返回 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, // 頁(yè)碼 isClose: true, list: [] }) this.getList() } }, })
ps:下面看下微信小程序 判斷當(dāng)前頁(yè)面是重新打開(kāi),還是從其他頁(yè)面返回
在小程序中設(shè)置變量用來(lái)判斷是否是從其他頁(yè)面返回
在 data 數(shù)據(jù)中聲明一個(gè)變量 isClose, 默認(rèn)為 true 。用來(lái)判斷是正常打開(kāi),還是從其他頁(yè)面返回。當(dāng)點(diǎn)擊跳轉(zhuǎn)頁(yè)面或者關(guān)閉小程序的時(shí)候,會(huì)觸發(fā) OnHide 函數(shù),在此函數(shù)中將判斷 isClose is true 的時(shí)候即為正常打開(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í)例
data:
data: { isClose:true //判斷當(dāng)前頁(yè)面是打開(kāi)還是返回頁(yè) }
跳轉(zhuǎn)頁(yè)面:
this.setData({ isClose:false}) wx.navigateTo({ url: '../index/index?', })
onUnload:
/** * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面卸載 */ onUnload: function () { var that =this setTimeout(function () { that.setData({ isClose: true }) }, 200) },
onHide:
/** * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面隱藏 */ onHide: function () { if (this.data.isClose) { console.log('重新打開(kāi)') } },
onShow:
/** * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面顯示 */ onShow: function () { console.log(this.data.isClose) if (!this.data.isClose) { this.onLoad(); } },
總結(jié)
以上所述是小編給大家介紹的微信小程序判斷頁(yè)面是否從其他頁(yè)面返回的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
JS動(dòng)態(tài)遍歷json中所有鍵值對(duì)的方法(不知道屬性名的情況)
這篇文章主要介紹了JS動(dòng)態(tài)遍歷json中所有鍵值對(duì)的方法,實(shí)例分析了針對(duì)不知道屬性名的情況簡(jiǎn)單遍歷json鍵值對(duì)的操作技巧,需要的朋友可以參考下2016-12-12js函數(shù)獲取html中className所在的內(nèi)容并去除標(biāo)簽
本文為大家介紹下如何使用js函數(shù)獲取html中className所在的內(nèi)容,具體實(shí)現(xiàn)思路如下,喜歡的朋友可以參考下2013-09-09一個(gè)對(duì)于js this關(guān)鍵字的問(wèn)題
一個(gè)對(duì)于js this關(guān)鍵字的問(wèn)題...2007-01-01layer.close()關(guān)閉進(jìn)度條和Iframe窗的方法
今天小編就為大家分享一篇layer.close()關(guān)閉進(jìn)度條和Iframe窗的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08javascript對(duì)數(shù)組的常用操作代碼 數(shù)組方法總匯
js下數(shù)組也是比較常用的,對(duì)數(shù)組元素的處理也是有非常多的方法,這里整理了下,需要的朋友可以參考下。2011-01-01javascript的parseFloat()方法精度問(wèn)題探討
javascript中的parseFloat()方法,大家應(yīng)該不陌生吧,下面為大家介紹下其精度問(wèn)題,感興趣的朋友不要錯(cuò)過(guò)2013-11-11