HarmonyOS 鸿蒙Next router传参获取问题

发布于 1周前 作者 gougou168 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next router传参获取问题

在首页页面传参{“test”:“value”},目标页router.getParams()[‘data1’]不适用了,应该改成什么获取

3 回复
可以参考以下demo:
interface Params{
  data1:string
}

@State params:Params=router.getParams() as Params

build(){ Text(this.params.data1) }

更多关于HarmonyOS 鸿蒙Next router传参获取问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


你好,在目标页面中,可以通过调用Router模块的getParams方法来获取传递过来的参数。例如:

  1. import { router } from '[@kit](/user/kit).ArkUI';
  2. class InfoTmp {
  3. age: number = 0
  4. }
  5. class RouTmp {
  6. id: object = () => {
  7. }
  8. info: InfoTmp = new InfoTmp()
  9. }
  10. const params: RouTmp = router.getParams() as RouTmp; // 获取传递过来的参数对象
  11. const id: object = params.id // 获取id属性的值
  12. const age: number = params.info.age // 获取age属性的值

在HarmonyOS鸿蒙系统中,Next Router传参获取通常涉及页面间数据传递。以下是如何在HarmonyOS中实现Next Router传参并获取参数的基本方法:

  1. 发送参数: 在源页面(发送页面)中,通过Intent携带参数。例如,使用PutExtra方法将参数添加到Intent中。

    // 示例代码(非Java,仅为说明)
    Intent intent = new Intent();
    intent.PutExtra("key", "value");
    startAbility(intent);
    

    注意:实际HarmonyOS代码不使用Java语法,此处仅为描述意图。

  2. 接收参数: 在目标页面(接收页面)中,通过GetIntent方法获取Intent,并使用GetString等方法提取参数。

    // 示例代码(非Java,仅为说明)
    Intent intent = this.GetIntent();
    String value = intent.GetString("key");
    

    注意:实际HarmonyOS代码使用ArkUI框架的ETS语言或eTS语言,具体实现需参考HarmonyOS开发文档。

  3. 参数使用: 提取到的参数可以直接在目标页面中使用,如显示在界面上或进行逻辑处理。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部