OpenHarmony开发者论坛

标题: 如何让事件只在一个UIAbility实例中传递 [打印本页]

作者: 汐之蓝    时间: 2023-10-27 09:25
标题: 如何让事件只在一个UIAbility实例中传递

【问题描述】
应该如何实现事件只在一个UIAbility实例中订阅和触发
【运行环境】
硬件:rk3568;  ROM: 3.2  Beta5;  API 9



作者: edice    时间: 2023-10-27 16:20
[md]在UIAbility中使用EventHub订阅事件,EventHub模块提供了事件中心,提供订阅、取消订阅、触发事件的能力。参考:[使用EventHub进行数据](https://gitee.com/openharmony/do ... E%E9%80%9A%E4%BF%A1)

```
import UIAbility from '@ohos.app.ability.UIAbility';
export default class EntryAbility extends UIAbility {
    onForeground() {
        this.context.eventHub.on('myEvent', this.eventFunc);
        // 结果:
        // eventFunc is called,undefined,undefined
        this.context.eventHub.emit('myEvent');
        // 结果:
        // eventFunc is called,1,undefined
        this.context.eventHub.emit('myEvent', 1);
        // 结果:
        // eventFunc is called,1,2
        this.context.eventHub.emit('myEvent', 1, 2);
    }
     eventFunc(argOne, argTwo) {
        console.log('eventFunc is called, ${argOne}, ${argTwo}');
    }}
```

[/md]




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5