所以我有两个组件,分别是CompA和compA5,它们分别是3或4个级别,我想在这些组件之间创建一个通信通道。
可以说,我想从组件CompA发送事件到compA5以返回一些数据,等待它返回数据,然后采取一些措施。 是否可以创建服务或任何其他最佳实践来实现这种行为。
答案 0 :(得分:1)
组件通信的最佳实践是创建一个共享服务,其中两个组件是同级的或彼此不相关的。
此共享服务将具有一个Subject
/ BehaviorSubject
变量。由于这是一项共享服务,因此两个组件都将其作为依赖项注入。
现在,可以通过在其上调用Subject
并将其希望另一个组件获取的数据传递给它来更改此BehaviorSubject
/ next
的值。
该subscribe
/ Subject
的另一个组件将BehaviorSubject
并自动获取数据。
这里是StackBlitz Link的简单演示。
答案 1 :(得分:0)
没有什么比原始Angular.io文档示例Parent and children communicate via a service更好了。