gpt4 book ai didi

angular - 如何从 parent 向 child 发出事件?

转载 作者:太空狗 更新时间:2023-10-29 16:46:04 27 4
gpt4 key购买 nike

我目前使用的是 Angular 2。通常我们使用 @Output() addTab = new EventEmitter<any>();然后 addTab.emit()向父组件发出事件。

有什么办法可以让我们从 parent 到 child 都做到这一点吗?

最佳答案

使用RxJs,您可以在父组件中声明一个Subject并将其作为Observable传递给子组件,子组件只需要订阅这个 Observable

父组件

eventsSubject: Subject<void> = new Subject<void>();

emitEventToChild() {
this.eventsSubject.next();
}

父 HTML

<child [events]="eventsSubject.asObservable()"> </child>    

子组件

private eventsSubscription: Subscription;

@Input() events: Observable<void>;

ngOnInit(){
this.eventsSubscription = this.events.subscribe(() => doSomething());
}

ngOnDestroy() {
this.eventsSubscription.unsubscribe();
}

关于angular - 如何从 parent 向 child 发出事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44053227/

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