返回時彈出提示
如果用戶點擊dddd則不需要在彈提示框
<view bindtap="zuzhi">dddddddddddddd</view>
data: {
//isAlert:true
// 通過此字段判斷是否需要隱藏彈窗,默認true顯示,false隱藏
},
onLoad: function (options) {
wx.enableAlertBeforeUnload({
message: "返回上頁時彈出對話框",
success: function (res) {
console.log("成功:", res);
},
fail: function (err) {
console.log("失?。?, err);
},
});
},
zuzhi:function(){
//this.setData({
//isAlert:false
//})
wx.disableAlertBeforeUnload() //關閉小程序頁面返回詢問對話框
console.log('不彈窗')
},
參考:
wx.oad
返回跳轉到指定頁面
onUnload: function () {
//wx.reLaunch跳到新頁面沒有返回箭頭
//用wx.redirectTo,wx.navigateTo試試
wx.reLaunch({
//這里url搞相對路徑
url: '../me/order-detail',
})
},
返回并刷新上個頁面
A列表頁跳轉到詳情頁B,從B返回A時需要A實現刷新頁面重新獲取數據。
在B頁面添加獲取界面棧的代碼
var pages = getCurrentPages();
if (pages.length > 1) {
var prevPage = pages[pages.length - 2]; //上一個頁面
//更新上一個頁面列表數據為空
prevPage.setData({
"list": []
})
//返回上一個頁面更新數據
wx.navigateBack({
delta: 1,
success: function (e) {
if (prevPage == undefined || prevPage == null) return;
// prevPage.onLoad();
//關鍵在這里,這里面是觸發上個界面
prePage.changeData()
}
})
}
在A頁面定義刷新頁面的事件
注意這個函數并不是在里面,應該和是同級目錄
changeData: function (historyArr) {
// 刷新事件,根據需求自定義
}
返回及刷新當前頁面
if (getCurrentPages().length != 0) {
getCurrentPages()[getCurrentPages().length - 1].onLoad()
}
頁面返回會數據丟失的問題
小程序的頁面層級最多五層,如果超過了五層小程序返回時刷新頁面,第五層的頁面會被銷毀,當頁面回退的時候小程序返回時刷新頁面,上一級的頁面需要重新創建,所以原來頁面上的數據就會丟失。
所以你可以使用 來代替 關閉當前頁面,跳轉到應用內的某個頁面。