uni-app uni.navigateto 传参
在 uni-app 中,uni.navigateTo 方法可以用于页面跳转,同时支持传递多个参数。以下是实现方法及示例。
通过 URL 拼接传递多个参数
// 源页面
uni.navigateTo({
url: `/pages/detail/detail?id=123&name=${encodeURIComponent('测试')}&age=25`
});
// 目标页面
onLoad(option) {
console.log('接收到的参数:', option);
console.log('id:', option.id); // 输出: 123
console.log('name:', decodeURIComponent(option.name)); // 输出: 测试
console.log('age:', option.age); // 输出: 25
}
传递对象或数组
// 源页面
const data = { id: 123, name: '测试', age: 25 };
uni.navigateTo({
url: `/pages/detail/detail?data=${encodeURIComponent(JSON.stringify(data))}`
});
// 目标页面
onLoad(option) {
const data = JSON.parse(decodeURIComponent(option.data));
console.log('接收到的对象:', data);
}
注意事项
-
特殊字符编码:使用 encodeURIComponent 对参数进行编码,避免 URL 解析错误。
-
URL 长度限制:若参数过多,可使用全局变量或本地存储(如 Vuex 或 uni.setStorage)来传递数据。
-
类型转换:接收到的参数默认是字符串类型,需要手动转换为数字或布尔值。

浙公网安备 33010602011771号