微信小程序判斷頁(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-12
js函數(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-01
layer.close()關(guān)閉進(jìn)度條和Iframe窗的方法
今天小編就為大家分享一篇layer.close()關(guān)閉進(jìn)度條和Iframe窗的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
javascript對(duì)數(shù)組的常用操作代碼 數(shù)組方法總匯
js下數(shù)組也是比較常用的,對(duì)數(shù)組元素的處理也是有非常多的方法,這里整理了下,需要的朋友可以參考下。2011-01-01
javascript的parseFloat()方法精度問(wèn)題探討
javascript中的parseFloat()方法,大家應(yīng)該不陌生吧,下面為大家介紹下其精度問(wèn)題,感興趣的朋友不要錯(cuò)過(guò)2013-11-11

