评论

小程序返回上一页终极处理办法

返回上一页终极处理办法


注意:注意针对自定义顶部导航,或者是使用了uni.navigateBack这个方法的界面。

//如果当前界面存在上一个界面,就返回上一个界面

//如果当前界面是分享进入的,没有上一个界面,这样的情况直接返回到指定的界面上去。



back() {
				/*uni.navigateBack({
					delta: 1
				})*/
				//@zxyuns 处理兼容,如果没有上一级界面则返回首页
				const pages = getCurrentPages();
				if (pages.length === 2) {
					uni.navigateBack({
						delta: 1
					});
				} else if (pages.length === 1) { //判定没有上一页得情况下,才进行跳转到指定界面
					uni.switchTab({
						url: '/pages/home/home',
					})
				} else { //这里应该是不会用到得
					uni.navigateBack({
						delta: 1
					});
				}
			},


最后一次编辑于  2022-08-05  
点赞 2
收藏
评论

2 个评论

  • 刘会刚
    刘会刚
    2023-04-04
    if(pages.length === 1) {
      uni.switchTab({ url:'/pages/home/home'})										
    } else {
      uni.navigateBack({ delta: 1 })
    }
    


    2023-04-04
    赞同
    回复
  • 茜茜又困了🐽
    茜茜又困了🐽
    2022-08-05

    if else就能解决问题,没必要if else if else

    2022-08-05
    赞同
    回复 2
    • 你是人间四月天
      你是人间四月天
      2022-08-05
      是你说这样呢. 最后一个else感觉没用.
      2022-08-05
      回复
    • 你是人间四月天
      你是人间四月天
      2022-08-05回复你是人间四月天
      感觉不能直接else, 因为堆栈可能是其他情况.必须要没有上一页得情况,才去指定跳到某个界面才对.
      2022-08-05
      回复
登录 后发表内容