在写小程序的时候,预览模式和真机调试都没有报navigateTo fail page limit exceeded这个错误,后面发布体验版后报了这个错误,因为第一次写小程序,不明白为什么报这个错误,虽然官方文档写的很清楚,使用navigateTo跳转页面,页面栈做多为10个,因为对这个不理解,所以按照自己的方式进行了排错,错误排查:检查跳转是否写错;检查该页面是否在app.json中配置等还是不行,去网上找答案,说是要清除小程序页面栈,具体实现方法
js代码,
export function navigateTo(url){
if (getCurrentPages().length >= 10) {//判断当前页面栈是否大于等于10.如果大于或等于就使用wx.redirectTo来跳转页面,清除当前页面栈
wx.redirectTo({url})
} else {
wx.navigateTo({url})
}
}
小程序官方文档,关于redirectTo给出的解释,关闭当前页,跳转到应用内某个页面
当然也可以使用reLaunch来跳转,reLaunch是关闭所有页面,跳转到应用内的某个页面
所以跳转的时候,根据你自己的需要来进行清除和跳转