HarmonyOS 鸿蒙Next 路由跳转获取跳转传参的方式
HarmonyOS 鸿蒙Next 路由跳转获取跳转传参的方式
使用@Consume(‘pageInfos’) pageInfos: NavPathStack;进行路由页面跳转管理时,如A页面跳转B页面this.pageInfos.pushPathByName(‘B’, new Object({yyy: ‘yyy’}));如何在B页面获取传入参数 new Object({yyy: ‘yyy’})?
在非struct @Component声明的ets文件,是否可以获取@Consume(‘pageInfos’) pageInfos: NavPathStack;的全局路由栈类
更多关于HarmonyOS 鸿蒙Next 路由跳转获取跳转传参的方式的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
监听函数可以参考以下代码
可以在根组件中监听,或者在指定页面监听也可
根组件监听如下写
@Provide('pageInfos')
@Watch('pathInfochange')
pageInfos: NavPathStack = new NavPathStack()
其他页面
@Consume('pageInfos')
@Watch('pathInfochange')
pageInfos: NavPathStack;
监听的函数
// 在导航组件里面使用@Wacth监听pathInfo,
pathInfochange() {
console.log('pageInfosChange:' + JSON.stringify(this.pageInfos))
}
注意需要判断pathArray为空的场景,避免数组越界
pageInfosChange:{
"pathArray":[
{"name":"pageOne"},
{"name":"pageTwo","param":{"count":10}},
{"name":"pageOne","param":null},
{"name":"pageTwo","param":{"count":10}},
{"name":"pageOne","param":null},
{"name":"pageTwo","param":{"count":10}},
{"name":"pageOne","param":null}
],
"changeFlag":15,
"isReplace":0,
"type":"NavPathStack",
"disableAllAnimation":false,
"animated":true
}
更多关于HarmonyOS 鸿蒙Next 路由跳转获取跳转传参的方式的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next系统中,路由跳转并获取跳转传参的方式通常涉及到Intent的使用。Intent在鸿蒙系统中用于组件间通信和数据传递。以下是获取跳转传参的基本方法:
-
发送Intent:在源页面通过显式或隐式Intent设置参数,并启动目标页面。显式Intent直接指定目标组件,隐式Intent则通过Action和Category等属性匹配目标组件。
-
接收Intent:在目标页面的
onStart
或onActive
等生命周期方法中,通过getIntent()
方法获取传递过来的Intent对象。 -
提取参数:使用Intent对象的
getString
、getInt
、getBoolean
等方法,根据传递参数的类型和键名提取相应的值。
例如,如果传递的是一个字符串类型的参数,可以通过intent.getString("key")
来获取。
需要注意的是,确保在发送Intent时设置的键名与接收时使用的键名一致,否则将无法正确提取参数。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html