您好,登錄后才能下訂單哦!
微信小程序判斷頁面是否從其他頁面返回,具體內容如下所示:
在 data 中自定義一個標記變量,在onLoad里
Page({ data: { isNewOpen: true, //判斷當前頁面是新打開還是從其他頁面返回 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:下面看下微信小程序 判斷當前頁面是重新打開,還是從其他頁面返回
在小程序中設置變量用來判斷是否是從其他頁面返回
在 data 數據中聲明一個變量 isClose, 默認為 true 。用來判斷是正常打開,還是從其他頁面返回。當點擊跳轉頁面或者關閉小程序的時候,會觸發 OnHide 函數,在此函數中將判斷 isClose is true 的時候即為正常打開。當跳轉頁面時首先將 isClose 設置為 false, 這樣 觸發 OnHide 函數的時候,isClose is flase 并不會執行,進入跳轉的頁面,然后在由頁面進行返回這是會觸發跳轉的頁面的 OnUnload 函數 在此函數中 設置一個定時器 在 200ms 之后將 isClose 改為 true 這樣當關閉小程序 再次進入的時候 isColse 依然為true 判斷時是首次進入頁面
實例
data:
data: { isClose:true //判斷當前頁面是打開還是返回頁 }
跳轉頁面:
this.setData({ isClose:false}) wx.navigateTo({ url: '../index/index?', })
onUnload:
/** * 生命周期函數--監聽頁面卸載 */ onUnload: function () { var that =this setTimeout(function () { that.setData({ isClose: true }) }, 200) },
onHide:
/** * 生命周期函數--監聽頁面隱藏 */ onHide: function () { if (this.data.isClose) { console.log('重新打開') } },
onShow:
/** * 生命周期函數--監聽頁面顯示 */ onShow: function () { console.log(this.data.isClose) if (!this.data.isClose) { this.onLoad(); } },
總結
以上所述是小編給大家介紹的微信小程序判斷頁面是否從其他頁面返回的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。