🤍 前端开发工程师、技术日更博主、已过CET6
🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1
🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》
🍚 蓝桥云课签约作者、上架课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入门到实战全面掌握 uni-app》
在uni-app中,页面间跳转时可以传递参数,同时也可以获取当前页面栈的信息。
接收参数
当使用uni.navigateTo
或uni.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中实现页面间参数的传递和当前页面栈信息的获取。