前面博文上面提到微信小程序有三种常见的跳转方式 navigateTo,redirectTo 和 reLaunch
10层的限制只是针对navigateTo ,redirectTo 和reLaunch不受此限制。
navigateTo :保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。
redirectTo :关闭当前页面,跳转到应用内的某个页面。
reLaunch: 关闭所有页面,打开到应用内的某个页面
思路:通过getCurrentPages()来获取页面栈数组,然后通过判断数组当中判断是否已存有当前页面然后做出相应的跳转就可以避免navigateTo跳转的10层限制了!
首先我们先建一个js文件 命名随意
// navroter.js
module.exports = {
navigateTo(object) {
if (getCurrentPages().length > 9) {
this.redirectTo(object)
// this.reLaunch(object)
} else {
wx.navigateTo(object)
}
},
// 其他跳转不处理
navigateBack(object) {
wx.navigateBack(object)
},
switchTab(object) {
wx.switchTab(object)
},
redirectTo(object) {
wx.redirec