接收参数与获取当前页栈:uni-app中的页面间通信与导航

在这里插入图片描述

🤍 前端开发工程师、技术日更博主、已过CET6
🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1
🕠 牛客高级专题作者、打造专栏《前端面试必备》《2024面试高频手撕题》《前端求职突破计划》
🍚 蓝桥云课签约作者、上架课程《Vue.js 和 Egg.js 开发企业级健康管理项目》《带你从入门到实战全面掌握 uni-app》

在uni-app中,页面间跳转时可以传递参数,同时也可以获取当前页面栈的信息。

接收参数

当使用uni.navigateTouni.redirectTo进行页面跳转时,可以通过URL传递参数。在目标页面中,可以通过onLoad生命周期函数接收这些参数。

// 目标页面的脚本部分
export default {
data() {
return {
receivedParam: ''
};
},
onLoad(options) {
// options 是一个对象,包含了 URL 中的参数
this.receivedParam = options.paramName; // 假设传递的参数名为 paramName
}
}

在跳转时传递参数:

uni.navigateTo({
url: '/pages/targetPage/targetPage?paramName=value' // 传递参数
});

获取当前页栈

有时候需要获取当前页面栈的信息,比如返回上一页面或多级页面。可以使用getCurrentPages方法来获取当前页面栈。

const pages = getCurrentPages(); // 获取当前页面栈数组
const currentPage = pages[pages.length - 1]; // 获取当前页面对象
const route = currentPage.route; // 获取当前页面的路由
const options = currentPage.options; // 获取当前页面的参数

使用getCurrentPages可以获取到一个数组,数组中的每个元素代表一个页面实例,数组的最后一个元素是当前页面。

注意事项

  • 页面栈有最大限制,通常为10层,超出后不能再使用navigateTo跳转。
  • 使用uni.navigateBack可以返回上一页面或多级页面,通过设置delta参数来控制返回的页面数。
  • 在页面销毁时,页面栈会自动进行管理,不需要手动清理。

通过上述方法,可以在uni-app中实现页面间参数的传递和当前页面栈信息的获取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿珊和她的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值