关于微信小程序跳转的几个误区(mpvue)

一.页面跳转:
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:如有错误之处,请不吝赐教

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值