当前位置:   article > 正文

鸿蒙开发页面之间如何传值_鸿蒙页面传参

鸿蒙页面传参

在鸿蒙开发中如果使用route的方式传递参数用如下写法

1.route方式

首先引入route

import router from '@ohos.router';
  • 1

跳转传参

router.push({
            url: "pages/[页面命名]",  // 打开新页面
            params: {value: 'test'} // 给新页面传递一个对象,key为value,取值以.value的形式
          })
  • 1
  • 2
  • 3
  • 4

接收参数:

private value: string = router.getParams()['value'];

我们在Text(this.value) 中可以拿到字符串 “test”
  • 1
  • 2
  • 3

2. emitter 方式

(点击查看)官方介绍文档

引入emitter

import emitter from '@ohos.events.emitter'
  • 1

发送:

发送一个多参数的对象

item 为要发送的对象
InnerEvent 发送的事件
EventData 事件携带的数据

        let eventData = {
          data: item};
        let innerEvent = {
          eventId: 1,
          priority: emitter.EventPriority.HIGH
        };
        emitter.emit(innerEvent, eventData);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

订阅:

定义一个 stringName

@State stringName:string=“测试”

TestInfo:发送方法中item 对应的实体


 emitter.once(innerEvent, (eventData) => {
        const data=JSON.stringify(eventData.data)//拿到返回obj对象
        let json:TestInfo=JSON.parse(data);//转换为实体
        this.stringName =json.name//赋值
      });
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

end

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/974856
推荐阅读
相关标签
  

闽ICP备14008679号