小程序項目中頁面常用的三種跳轉方式
wx.switchTab // 切換到tabbar頁面
wx.navigateTo // 進入指定頁面(非tabbar頁面)正常頁面棧
wx.redirectTo // 重定向到執(zhí)行頁面清空頁面棧,無法通過左上角返回箭頭或者navigateBack返回上一頁
需求:
A頁面加載的時候會執(zhí)行一部分流程,可以從A頁面跳轉到B頁面,B頁面通過左上角返回到A頁面的時候需要執(zhí)行另一部分流程,跟A頁面正常的加載流程有沖突,要分開處理,所以需要判斷頁面是從B頁面navigateBack回來的,還是通過其他途徑進入的
A頁面邏輯
在A頁面的data中定義一個變量isFromB(是否從B頁面返回,變量名稱可以自定義),默認值為false
A頁面的onShow中
if(this.isFromB) {
從B頁面返回需要執(zhí)行的邏輯部分
} else {
正常途徑進入A頁面,需要執(zhí)行的邏輯部分
}
B頁面邏輯
let pages = getCurrentPages();
let prevPage = pages[ pages.length - 2 ];
prevPage.$vm.isFromB = true
uni.navigateBack();

image.png