HarmonyOS 鸿蒙Next 使用Navigation系统路由表时页面跳转传递参数及接收参数方式

发布于 1周前 作者 yuanlaile 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 使用Navigation系统路由表时页面跳转传递参数及接收参数方式

请问使用Navigation系统路由表时,页面跳转时向下一个页面传递参数方式以及下一个页面接收参数方式及示例代码,目前配置了系统路由表之后,
参照文档这样操作,,
跳转:let params: PageOneParams = {oneParam: “oneParam”};
this.pageInfos.pushPathByName(‘pageOne1’, params);跳转页面后,在目标页面:
console.info(‘param’, 'param is ’ + JSON.stringify(this.pageInfos.getParamByName(‘PageOne’)));这样子接收,但无法接收到传递的参数。

2 回复
获取参数时的name应该与push时一致:
console.info('param', 'param is ' + JSON.stringify(this.pageInfos.getParamByName('pageOne1')))

在HarmonyOS鸿蒙Next中,使用Navigation系统路由表进行页面跳转并传递及接收参数,可遵循以下方式:

首先,确保已在项目的profile文件夹下创建了router_map.json5文件,并在所属模块的module.json5中配置了路由映射。

页面跳转时,利用Navigation组件的NavPathStack对象管理页面栈。通过pushPathByName等方法实现页面跳转,并传递所需参数。例如,this.makePathStack.pushPathByName(“makephotoviewpage”, item),其中item即为传递的参数。

接收参数时,在目标页面的@Component结构体中,同样利用NavPathStack对象,通过getParamByName方法获取传递的参数。接收前需先定义参数的类型,例如:

@Consume('makePathStack') makePathStack: NavPathStack;
let makelist: string = JSON.stringify(this.makePathStack.getParamByName('makephotoviewpage'));
let makestring: any = JSON.parse(makelist);

以上方法实现了参数的传递与接收。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部