收藏
回答

wx.navigateTo,为什么目前页面路径最多只能十层?

wx.navigateTo,为什么目前页面路径最多只能十层?是基于什么考虑的呢?

回答关注问题邀请回答
收藏

2 个回答

  • 🚗🚕🚙🚌🚎🚒🚐🚚
    🚗🚕🚙🚌🚎🚒🚐🚚
    2018-08-09

    如果一个小程序真的那么深的话,可以考虑是设计出问题了,如果是代码造成的,可以考虑是不是页面是重复的,可以在每个page里加个type: 'pageName'属性,用下面这个工具函数判断。

    function jumpTo(options) {
      var url = options.url || "";
      var to = (url.match(/.+\/(\w+)/i) || ['index', 'index'])[1];
      var pages = getCurrentPages();
      var i = 0;
      while (pages[i] && pages[i].type !== to) {
        i++;
      }
      //已有页面在栈里,返回
      if (i < pages.length - 2 && to !== "albumDetail") {
        var delta = pages.length - 1 - i;
        // console.log('jumpto1')
        wx.navigateBack({
          delta: delta
        });
        return;
      }
      //是当前页,刷新当前页
      if (i === pages.length - 1) {
        // console.log('jumpto2')
        wx.redirectTo({
          url: url
        });
        return;
      }
      //如果页面数已经大于上线,怎重定向
      if (pages.length >= 5) {
        // console.log('jumpto3')
        wx.redirectTo({
          url: url
        });
        return;
      }
      // console.log('jumpto4')
      wx.navigateTo({
        url: url
      });
    }
    2018-08-09
    赞同
    回复
  • 刘文文
    刘文文
    2018-08-09

    以前才5层,8G内存任意挥霍么

    2018-08-09
    赞同
    回复
登录 后发表内容