本文转载自:https://blog.csdn.net/zuorishu/article/details/93618624
感谢前辈的文章,得以解决此问题。
此篇文章只为记录,学习,和将来的使用。
一、导语:
小程序中页面栈最多十层,随着页面增加路由跳转很容易在不知道的情况下就会堆栈到十层,再用navigateTo去跳转就跳不动了。
这时候就需要删除当前页面栈(redirectTo)或删除所有页面栈(reLaunch)来跳转了。页面栈可以通过getCurrentPages方法获取。
二、使用步骤:
1.在utils文件夹下,新建navigateRoute.js文件,其内容如下:
function navigateTo(url) {
if (getCurrentPages().length >= 10) {
wx.redirectTo({
url: url,
success: function (res) { }, //可根据实际情况删减
fail: function (res) { }, //可根据实际情况删减
complete: function (res) { }, //可根据实际情况删减
})
} else {
wx.navigateTo({
url: url,
})
}
}
module.exports = navigateTo
2.在需要的页面引入,并使用:
// 如按上方操作 此路径可直接复制使用
import navigateTo from "../../utils/navigateRoute.js"
// 在页面添加点击事件 isThank
isThank() {
// 是否携带参数根据实际情况删减
// navigateTo('/pages/thank/thank/postDetail?id=' + e.currentTarget.dataset.id)
navigateTo('/pages/thank/thank/postDetail')
},