微信小程序之返回上一頁實現方法
先介紹三種跳轉方式:
1.B頁面自帶返回按鈕
-
wx.navigateTo(OBJECT) 保留當前頁面,跳轉到應用內的某個頁面,使用wx.navigateBack可以返回到原頁面
復制代碼
2.B頁面不帶返回按鈕
-
wx.redirectTo(OBJECT)關閉當前頁面,跳轉到應用內的某個頁面。
3.B頁面不帶返回按鈕
-
wx.switchTab(OBJECT) 跳轉到 tabBar 頁面,并關閉其他所有非 tabBar 頁面
自己在B頁面人工添加返回按鈕到A頁面
-
wxml:
-
bindtap="navigateBack"
-
js:
-
navigateBack: function () {
-
var self = this;
-
var pages = getCurrentPages();
-
if (pages.length == 1) {
-
if (self.data.circleId && self.data.circleId >0) {
-
wx.redirectTo({
-
url: '../../circle/index/index?circleId=' + self.data.circleId
-
+ '&circleName=' + (self.data.circleName || '')
-
});
-
} else {
-
wx.switchTab({
-
url: "../../home/grouplist/grouplist"
-
});
-
}
-
} else {
-
wx.navigateBack({ changed: true });//返回上一頁
-
}
-
},
題外話:
1、A -> B -> C C直接返回A
A -> B通過 wx.navigateTo 跳轉
B -> C 通過 wx.redirectTo 跳轉.跳轉觸發后 B 頁面就會被銷毀, C 頁面再返回 wx.navigateBack 就會直接到 A 了
2、A -> B -> C 返回效果C -> B -> A
正常 A -> B -> C 都是通過 wx.navigateTo 跳轉的,所以 wx.navigateBack 只能返回上一界面