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写的微信小程序