收藏
回答

您好!页面栈问题求解答

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug wx.navigateTo 客户端 7.0.3 1.9.91

您好!页面栈最多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 如何从页面栈中去除?

最后一次编辑于  02-18
回答关注问题邀请回答
收藏

3 个回答

  • 小打卡
    小打卡
    02-18

    没有方法可以去除,但是可以尝试hack一个超栈方法:

    1. 可以利用onShow来记录自己维护的一个栈

    2. 在超过10层的时候统一用redirectTo,这时真实的栈永远是10层,但是自身维护的栈会不停 + 1,

    3. 超栈时,执行navigateback,这时显示的是第9页,这时再执行navigatTo补上你维护的上一页,这样算是“回退”到你的路径上了

    这个方法如果不是刚需不推荐用,涉及到对生命周期的装饰和onShow时对页面栈的判断,很复杂,体验上也不算很好,只能说大体上可以解决10层上限的问题

    02-18
    赞同
    回复 1
    • surpass
      surpass
      02-18

      感谢您的回答,这个方案不错,值得使用

      02-18
      回复
  • จุ๊บ
    จุ๊บ
    02-18

    wx.navigateTo  向下跳转增加一层页面栈

    wx.redirecTo  向下跳转 关闭当前页面,不会增加页面栈

    wx.reLaunch  向下跳转 关闭所有页面,页面栈只有当前页面

    wx.switchTab  跳转tabBar 页面 关闭所有非tabbar页面


    这些混合用,页面栈并不会到10层

    02-18
    赞同
    回复 1
    • surpass
      surpass
      02-18

      感谢您的回答,这个基础我已经知道了

      02-18
      回复
  • iHealth 王深镇
    iHealth 王深镇
    02-18
    前5个页面用 wx.redirectTo 跳转  后面5个用这个 跳转 wx.navigateTo
    02-18
    赞同
    回复 1
    • surpass
      surpass
      02-18

      感谢您的回答,这种方案不是很合适哦

      02-18
      回复