【发布时间】:2018-03-12 04:16:32
【问题描述】:
假设ChildComponent 发出一个名为someEvent 的事件。显然,我可以在ParentComponent 中捕获事件,声明为<child-component (someEvent)="onSomeEvent($event)"></child-component>,并使用ParentComponent 中的方法onSomeEvent 处理它。但我正在尝试的是我想在 RxJS 中使用 fromEvent 运算符处理事件。在获得ChildComponent 的ElementRef 和@ViewChild 之后,我尝试了fromEvent(this.childComponent.nativeElement, 'someEvent')。我发现如果输出 EventEmitter 的事件名称与 click 等本机事件之一相同,则上述方法有效,但否则它不会响应/工作。有什么方法可以让它与fromEvent 一起工作吗?
【问题讨论】:
-
为什么要使用
fromEvent?您是否尝试将 Angular 事件转换为 observable? -
@cartant 实际上,使用
fromEvent并不是必需的,但我正在尝试以这种方式处理使用 rxjs 运算符的流程 -
@cartant 你介意重新发布你的答案吗?我很困惑。它仍然无法正常工作。
-
我已取消删除答案。避免直接访问 Angular 和 not treating event emitters as observables 中的原生元素是有充分理由的。
-
@cartant 我认为直接在 Angular 中访问本机元素还不错,除非我对其进行操作。为什么不好?