小程序
小游戏
企业微信
微信支付
扫描小程序码分享
您好!页面栈最多10个 但 如果我有 1 2 3 4 5 6 7 8 9 10 11 个页面, 用
wx.navigateTo
方法实现跳转,到第10页面再想跳到11 页面,提示错误 navigateTo:fail webview count limit exceed 此时 如何跳到11页,还能让用户返回时能看到 10 9 8 7 6 这几个页面 12345 如何从页面栈中去除?
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
说明你的需求太重,不适合做成小程序,让产品面壁思过去
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
没有方法可以去除,但是可以尝试hack一个超栈方法:
可以利用onShow来记录自己维护的一个栈
在超过10层的时候统一用redirectTo,这时真实的栈永远是10层,但是自身维护的栈会不停 + 1,
超栈时,执行navigateback,这时显示的是第9页,这时再执行navigatTo补上你维护的上一页,这样算是“回退”到你的路径上了
这个方法如果不是刚需不推荐用,涉及到对生命周期的装饰和onShow时对页面栈的判断,很复杂,体验上也不算很好,只能说大体上可以解决10层上限的问题
感谢您的回答,这个方案不错,值得使用
wx.navigateTo 向下跳转增加一层页面栈
wx.redirecTo 向下跳转 关闭当前页面,不会增加页面栈
wx.reLaunch 向下跳转 关闭所有页面,页面栈只有当前页面
wx.switchTab 跳转tabBar 页面 关闭所有非tabbar页面
这些混合用,页面栈并不会到10层
感谢您的回答,这个基础我已经知道了
感谢您的回答,这种方案不是很合适哦
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
说明你的需求太重,不适合做成小程序,让产品面壁思过去
没有方法可以去除,但是可以尝试hack一个超栈方法:
可以利用onShow来记录自己维护的一个栈
在超过10层的时候统一用redirectTo,这时真实的栈永远是10层,但是自身维护的栈会不停 + 1,
超栈时,执行navigateback,这时显示的是第9页,这时再执行navigatTo补上你维护的上一页,这样算是“回退”到你的路径上了
这个方法如果不是刚需不推荐用,涉及到对生命周期的装饰和onShow时对页面栈的判断,很复杂,体验上也不算很好,只能说大体上可以解决10层上限的问题
感谢您的回答,这个方案不错,值得使用
wx.navigateTo 向下跳转增加一层页面栈
wx.redirecTo 向下跳转 关闭当前页面,不会增加页面栈
wx.reLaunch 向下跳转 关闭所有页面,页面栈只有当前页面
wx.switchTab 跳转tabBar 页面 关闭所有非tabbar页面
这些混合用,页面栈并不会到10层
感谢您的回答,这个基础我已经知道了
感谢您的回答,这种方案不是很合适哦