获取当前页面栈的实例,以数组形式按栈的顺序给出,数组中的元素为页面实例,第一个元素为首页,最后一个元素为当前页面。
let pages = getCurrentPages();
if (pages.length > 1) { // 若页面栈长度大于1则表示不止一个页面被打开了let previousPage = pages[pages.length - 2]; // 上一个页面为页面栈列表中倒数第二个元素console.log('上一个页面路由地址', previousPage.$page.route);
} else {console.log('只有一个页面');
}
页面跳转注意事项注意:
getCurrentPages() 仅用于展示页面栈的情况,请勿修改页面栈,以免造成页面状态错误。
页面关闭时,对应页面实例会在页面栈中删除。
页面跳转注意事项
- navigateTo, redirectTo 只能打开非 tabBar 页面。
- switchTab 只能打开 tabBar 页面。
- `reLaunch`` 可以打开任意页面。
- 页面底部的 tabBar 由页面决定,即只要是定义为 tabBar 的页面,底部都有tabBar。
- 不能在首页 onReady 之前进行页面跳转。