gpt4 book ai didi

angular - 如何在一个组件中触发通知事件并在 Angular 4 中监听另一个组件(组件没有父/子关系)

转载 作者:太空狗 更新时间:2023-10-29 18:19:45 25 4
gpt4 key购买 nike

我想在另一个组件中进行一些事件后对一个组件进行更改。组件没有父/子关系。请告诉我正确的解决方案

最佳答案

您可以使用私有(private)主题和公共(public)可观察对象创建具有双向流的共享服务。两个组件都可以订阅这些可观察对象,一个可以推送新值,另一个可以根据新值变化使用react。

Official docs!

plunker 中的组件没有任何父子关系。

Working Plunker

 @Injectable()
export class MissionService {

// Observable string sources
private missionAnnouncedSource = new Subject<string>();
private missionConfirmedSource = new Subject<string>();

// Observable string streams
missionAnnounced$ = this.missionAnnouncedSource.asObservable();
missionConfirmed$ = this.missionConfirmedSource.asObservable();

// Service message commands
announceMission(mission: string) {
this.missionAnnouncedSource.next(mission);
}

confirmMission(astronaut: string) {
this.missionConfirmedSource.next(astronaut);
}
}

关于angular - 如何在一个组件中触发通知事件并在 Angular 4 中监听另一个组件(组件没有父/子关系),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46220616/

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