使用wx.navigateTo或navigator标签跳转时,微信页面跳转最多只能跳转10次
(10次以上,怎么点击也不跳),这不利于用户的体验。 那么,解决这个问题吧。
我们先来看看小程序的五种路由方式。 接送门
要在这样的自定义导航栏上跳转,需要在跳转页面上进行判断。
思路:通过getCurrentPages ()获取页面堆栈(使用navigateTo中的页面数组),然后确定当前的跳转路径是否位于页面堆栈中,如果存在,请使用wx.navigateBack 返回delta在页堆栈的length-页堆栈内重复地址下标-1。如果在页堆栈中找不到重复的地址,则判断页堆栈是否超过10个,如果没有超过,则直接wx.navigth
link () {let url=***; //需要跳转的地址let pages=getCurrentPages (; //页面堆栈let is_link=1; getCurrentPages中重复的地址let iindex=' '; //获取重复地址的下标for (leti=0; ipages.length; I ) {let is_url='/' pages[i].route //子画面“/”是绝对路径if(URL==is_URL(is_link; iindex=i; }//如果确定地址存在重复,请回退delta回退多级if(is_link==2) wx.navigateback ) Delta:pages.length-iindex-1 使用=10 ) wx.navigateto(URL:URL ) ) else ) /如果超过,在redirectTo中关闭当前页面并跳转到wx.redirectto ) {URL:URL}}的大人物
最后,如果我的笔记对您有帮助,请给我一个赞~ 谢谢!