一.页面跳转:
1、wx.navigateTo(obj)保留当前页面,跳转到应用内的某个页面
2、wx.navigateBack(OBJECT)关闭当前页面,返回上一页面或多级页面
3、wx.redirectTo(OBJECT)关闭当前页面,跳转到应用内的某个页面。
4、wx.switchTab(OBJECT)跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
5、wx.reLaunch(OBJECT)关闭所有页面,打开到应用内的某个页面。
1.wx.navigateTo(obj)和wx.navigateBack
在微信小程序中这几个api需要灵活使用,不可一味的使用navigateTo;
navigateTo反复使用会导致页面栈到达上限,无法跳转(好像是十次来着),也会让用户在一些反复使用的界面在回退时,体验不好,这是就需要使用navigateBack,保证页面栈的进程整齐划一;
A–>B–>C–>B–>C–>B–>C;(用户在回退时就会出现这种情况)
为了避免该情况,我们需要使用A -->navigateTo–>B–>navigateTo–>C–>navigateBack–>B;结果就是A–>B–>C
2.wx.redirectTo(OBJECT)和wx.reLaunch(OBJECT)
redirectTo可用于防止用户回退,但只在第二个页面或者使用reLaunch之后;
reLaunch常常用于切换账号或者退出操作页面时,主要是为了清理页面栈(但有时会出现一个bug,安卓真机在使用reLaunch之后,点击小房子会返回上一个页面)
二.在mpvue中可在requerst.js(封装的请求方法)中使用wx.reLaunch(OBJECT)跳转页面
但要使用wx.reLaunch({ url: '/pages/accredit/bind/main' });
而不是wx.reLaunch({ url: '../pages/accredit/bind/main' });
wx.showModal({
title: '登录提示',
content: '身份验证过期,请重新登录',
showCancel: false, //是否显示取消按钮-----》false去掉取消按钮
// cancelText: "取消", //默认是“取消”
cancelColor: 'skyblue', //取消文字的颜色
confirmText: "确定", //默认是“确定”
confirmColor: 'red', //确定文字的颜色
success: function(res) {
if (res.confirm) {
//点击确定
wx.reLaunch({ url: '/pages/accredit/bind/main' });
}
}
})
三.在使用navigateBack是也是可以携带参数的,
https://blog.csdn.net/Yana_li/article/details/78804165
ps:如有错误之处,请不吝赐教