小程序页面栈处理
页面栈最多十层,随着页面增加路由跳转很容易在不知道的情况下就会堆栈到十层,再用navigateTo去跳转就跳不动了。这时候就需要删除当前页面栈(redirectTo)或删除所有页面栈(reLaunch)来跳转了。页面栈可以通过getCurrentPages方法获取。
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
//引用
import navigateTo from "../../utils/navigateRoute.js"
navigateTo('/pages/index/index?id=' + 参数)