h5或uniapp或微信小程序,实现左上角返回到指定页面,侧滑左滑返回指定页面,安卓物理返回键返沪指定页面解决思路的思考

慈云数据 11个月前 (03-19) 技术支持 75 0

h5或uniapp或微信小程序,实现左上角返回到指定页面,侧滑左滑返回指定页面,安卓物理返回键返沪指定页面

  • uniapp开发app,(非微信小程序)
    • uniapp写的微信小程序

      uniapp开发app,(非微信小程序)

      自定义的左上角返回按钮

      h5或uniapp或微信小程序,实现左上角返回到指定页面,侧滑左滑返回指定页面,安卓物理返回键返沪指定页面解决思路的思考
      (图片来源网络,侵删)
       
      

      方法

      goBack(){
      			
      				let pages = getCurrentPages();
      				//函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面
      				var num=pages.length
      				//当前页面栈总数
      				var backnum
      				//需要返回的页数
      				for(var i =0;i
      					//循环找到指定页面路由所在的页数
      					if(pages[i].route=='pages/xxx/xxx'){
      					console.log(pages[i].route,'pages[i].route')
      					//'pages/xxx/xxxx'你需要返回的页面路由
      						backnum=num-i-1
      						//计算返回的层数,总数-指定页面页数-1
      					}		
      				}
      				console.log(backnum,'backnum')
      				uni.navigateBack({
      					delta:backnum
      						//返回的页面数,如果 delta 大于现有页面数,则返回到首页。
      				})
      			
      		},
      //这里是监听安卓物理返回键或者侧滑左滑返回方式
      		if(options.from=='navigateBack'){
      			return false
      		}else if(options.from=='backbutton'){//物理键默认返回上一级,我们在这里进行了处理
      			this.goBack()//走我们自己的方法
      			return true
      		}else if('xxxx){//也可以是其他方式
      		
      		}
      	}
      
      	let pages = getCurrentPages();
      				//函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面
      				var num=pages.length
      				//当前页面栈总数
      				var backnum
      				//需要返回的页数
      				for(var i =0;i
      					//循环找到指定页面路由所在的页数
      					if(pages[i].route=='pages/xxx/xxx'){
      					console.log(pages[i].route,'pages[i].route')
      						backnum=num-i-1
      						//计算返回的层数,总数-指定页面页数-1
      					}		
      				}
      				console.log(backnum,'backnum')
      				uni.navigateBack({
      					delta:backnum
      						//返回的页面数,如果 delta 大于现有页面数,则返回到首页。
      				})
      }
      
      		if(this.androidReturn){console.log('物理键返回')
      			this.goBack()
      		}
      	},
      
      			this.androidReturn=false;
      			this.goBack();
      		},
      
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon