uniapp 获取页面来源及注意事项

作者:百宝袋

时间:2026-10-31

浏览:148

本文介绍如何在 uniapp 中通过 getCurrentPages() 获取页面栈以获取页面来源,并详细说明 navigateTo、redirectTo、switchTab 和 reLaunch 等跳转接口的使用限制及注意事项。

文章目录

uniapp 获取页面来源

获取当前页面栈的实例,以数组形式按栈的顺序给出,数组中的元素为页面实例,第一个元素为首页,最后一个元素为当前页面。

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 之前进行页面跳转。

扩展:

小程序,uniapp获取从哪跳转过来的页面地址

 var pages = getCurrentPages(); // 当前页面
 var beforePage = pages[pages.length - 2]; // 前一个页面
 // console.log("beforePage");
 // console.log(beforePage);
 wx.navigateBack({
     success: function() {
         beforePage.onLoad(); // 执行前一个页面的onLoad方法
     }
 });

到此这篇关于uniapp 获取页面来源的文章就介绍到这了,更多相关uniapp 页面来源内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章