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);
}

注意事项

  1. 特殊字符编码:使用 encodeURIComponent 对参数进行编码,避免 URL 解析错误。

  2. URL 长度限制:若参数过多,可使用全局变量或本地存储(如 Vuex 或 uni.setStorage)来传递数据。

  3. 类型转换:接收到的参数默认是字符串类型,需要手动转换为数字或布尔值。

posted @ 2026-01-23 10:56  启航黑珍珠号  阅读(37)  评论(0)    收藏  举报