行业知识
h5或uniapp或微信小程序,实现左上角返回到指定页面,侧滑左滑返回指定页面,安卓物理返回键返沪指定页面解决思路的思考
2026-11-05 07:21:52
来源:互联网转载
h5或uniapp或微信小程序,实现左上角返回到指定页面,侧滑左滑返回指定页面,安卓物理返回键返沪指定页面
- uniapp开发app,(非微信小程序)
- uniapp写的微信小程序
uniapp开发app,(非微信小程序)
自定义的左上角返回按钮
方法
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();},
- uniapp写的微信小程序