鸿蒙Next开发中navigation跳转如何传递多个参数
在鸿蒙Next开发中,使用navigation进行页面跳转时,如何传递多个参数?目前官方文档只展示了传递单个参数的示例,但实际业务中需要传递多个参数(如用户ID、订单号、类型等)。尝试通过Bundle或URI拼接的方式都会报错,请问正确的实现方式是什么?能否提供具体代码示例?
2 回复
鸿蒙Next里传多个参数?简单!用params塞进一个对象里,比如:
router.pushUrl({
url: 'pages/Detail',
params: { id: 123, name: '张三', type: 'VIP' }
})
目标页面用router.getParams()一把抓!记住别传敏感数据,会暴露在URL里哦~
更多关于鸿蒙Next开发中navigation跳转如何传递多个参数的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在鸿蒙Next开发中,使用router进行页面跳转时,可以通过params传递多个参数。以下是具体方法:
1. 传递参数
在源页面使用router.pushUrl()时,在params中设置多个键值对:
import router from '@ohos.router';
// 跳转并传递多个参数
router.pushUrl({
url: 'pages/DetailPage',
params: {
id: 1001,
name: '张三',
age: 25,
category: 'VIP用户'
}
})
2. 接收参数
在目标页面的onPageShow()生命周期中获取参数:
import router from '@ohos.router';
onPageShow() {
const params = router.getParams();
if (params) {
let id = params['id'];
let name = params['name'];
let age = params['age'];
let category = params['category'];
// 使用获取到的参数
console.log(`ID: ${id}, 姓名: ${name}, 年龄: ${age}, 类别: ${category}`);
}
}
注意事项:
- 参数值支持字符串、数字等基本类型
- 传递对象时需要先序列化为JSON字符串
- 参数总长度不宜过大,避免性能问题
- 建议对关键参数进行非空校验
这种方式简单高效,适合传递中等数量的参数数据。

