微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐