其他分享
首页 > 其他分享> > uniapp通过不同方式进入页面执行不同逻辑 wx.navigateBack返回上一个页面执行相关的逻辑

uniapp通过不同方式进入页面执行不同逻辑 wx.navigateBack返回上一个页面执行相关的逻辑

作者:互联网

小程序项目中页面常用的三种跳转方式
wx.switchTab // 切换到tabbar页面
wx.navigateTo // 进入指定页面(非tabbar页面)正常页面栈
wx.redirectTo // 重定向到执行页面清空页面栈,无法通过左上角返回箭头或者navigateBack返回上一页

需求:

A页面加载的时候会执行一部分流程,可以从A页面跳转到B页面,B页面通过左上角返回到A页面的时候需要执行另一部分流程,跟A页面正常的加载流程有冲突,要分开处理,所以需要判断页面是从B页面navigateBack回来的,还是通过其他途径进入的

A页面逻辑

在A页面的data中定义一个变量isFromB(是否从B页面返回,变量名称可以自定义),默认值为false

A页面的onShow中
if(this.isFromB) {
    从B页面返回需要执行的逻辑部分
} else {
    正常途径进入A页面,需要执行的逻辑部分
}

B页面逻辑

let pages = getCurrentPages();
let prevPage = pages[ pages.length - 2 ];  
prevPage.$vm.isFromB = true
uni.navigateBack();

image.png

标签:返回,uniapp,逻辑,执行,navigateBack,页面,wx
来源: https://blog.csdn.net/qq_38740171/article/details/116207588