gpt4 book ai didi

angular - 如何使用父组件中可观察到的子组件的 EventEmitter( Angular 2)

转载 作者:行者123 更新时间:2023-12-04 01:47:54 26 4
gpt4 key购买 nike

我有一个发出数字的子组件:

this.number.emit(3);

在父组件中我听它:

<parent>
<child (number)="$event"></child>
</parent>

在父类中,如何将子组件的 EventEmitter 与父组件中的 observable 结合起来?

this.apiService.getSomeHTTPRequest()
.combineLatest(--- ??? combine with child event emitter ??? ---)

最佳答案

您必须手动创建一个 Subject在父组件中。您需要为该主题提供来自发出的事件的数据,并在 combineLatest 方法中使用它。实现看起来像这样:

import Subject from 'rxjs/Subject'
@Component({
// Forward events from the child component to the numberChanges subject.
template: `<child (number)="numberChanges.next($event)"></child>`
})
class Parent {
numberChanges = new Subject<number>()
// Assuming you create the stream in onInit method.
ngOnInit() {
const stream = this.apiService.getSomeHTTPRequest()
// Combine the numberChanges stream.
.combineLatest(this.numberChanges)
}
}

关于angular - 如何使用父组件中可观察到的子组件的 EventEmitter( Angular 2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42423873/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com