• Lv0
    粉丝0

积分186 / 贡献0

提问33答案被采纳3文章0

如何让事件只在一个UIAbility实例中传递

汐之蓝 显示全部楼层 发表于 2023-10-27 09:25:20

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


您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论1

edice

沙发 发表于 2023-10-27 16:20:10

在UIAbility中使用EventHub订阅事件,EventHub模块提供了事件中心,提供订阅、取消订阅、触发事件的能力。参考:使用EventHub进行数据

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}');
    }}

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部