将数据从没有子父关系的其他模块组件传递到另一个模块组件

问题描述 投票:2回答:1

我有核心模块,其中有组件标题栏,如果管理员登录名称应该出现在头顶栏,那么我要求我需要设置该标题范围的属性adminName,但我有另一个组件的模态模块Home.module.ts。

我想要的是,当用户点击登录时,该组件的管理员名称应该转到headbar组件,我不能使用@output属性,因为这些组件没有child = parent关系,我怎样才能通知我尝试使用的另一个组件的更改组件作为构造函数中的提供者,但更改检测没有发生.enter code here

angular
1个回答
0
投票

https://angular.io/guide/component-interaction上的文档有一个标题为“父母和孩子通过服务进行交流”的部分,其中显示了rxjs主题的使用。

这是很好的信息,并且如果需要通信的两个组件同时存在,则可以使用,例如,它们具有父子关系,并且在发送消息之前都被实例化。

这可能对你有用。但是,如果您最终需要具有相同信息的其他组件,并且它们不是父子关系的一部分,那么您可以使用BehaviorSubject替换服务中的Subject。 BehaviorSubject始终在订阅时返回最后一项。

请注意,您的服务需要是一个单例(从应用程序模块提供),以便所有组件都注入相同的服务实例。

© www.soinside.com 2019 - 2024. All rights reserved.