支付宝小程序框架 页面·getCurrentPages方法

2020-09-18 10:18 更新

getCurrentPages() 方法用于获取当前页面栈的实例,返回页面数组栈。第一个元素为首页,最后一个元素为当前页面。

框架以栈的形式维护当前的所有页面。路由切换与页面栈的关系如下:

路由方式 页面栈表现
初始化 新页面入栈
打开新页面 新页面入栈
页面重定向 当前页面出栈,新页面入栈
页面返回 当前页面出栈
Tab 切换 页面全部出栈,只留下新的 Tab 页面

下面代码可以用于检测当前页面栈是否具有 5 层页面深度。

if (getCurrentPages().length === 5) {
      my.redirectTo({
        url: '/pages/logs/logs'
      });
    } else {
      my.navigateTo({
        url: '/pages/index/index'
      });
    }

注意: 不要尝试修改页面栈,会导致路由以及页面状态错误。

常见问题

Q:getCurrentPages 方法怎么获取页面路径?

A:JSON.stringify(getCurrentPages()[N].proto.route),可以获取到页面路径(N 为页面数组栈中页面对象所在序号,最大值为当前页)。

Q:getCurrentPages 方法可以获取到参数吗?

A:不可以,只能获取页面栈,无法获取参数。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号