您好,登錄后才能下訂單哦!
微信小程序判斷頁面是否從其他頁面返回,具體內(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)點擊跳轉(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í)行,進入跳轉(zhuǎn)的頁面,然后在由頁面進行返回這是會觸發(fā)跳轉(zhuǎn)的頁面的 OnUnload 函數(shù) 在此函數(shù)中 設(shè)置一個定時器 在 200ms 之后將 isClose 改為 true 這樣當(dāng)關(guān)閉小程序 再次進入的時候 isColse 依然為true 判斷時是首次進入頁面
實例
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é)
以上所述是小編給大家介紹的微信小程序判斷頁面是否從其他頁面返回的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。