在组件 B 中访问组件 A 的属性?

Accessing the properties of component A in component B?

我不能使用@Input,因为这两个组件在组件树中相距很远

使用服务看起来是唯一的选择,但拥有一个本质上是所有组件的 A 属性的副本的服务似乎太过分了。每次我在 A 中设置一个 属性 时,我也需要在服务中设置它以便 B 可以访问它。好像效率不是很高

有没有办法在组件B中注入组件A的实例?请注意,A 不是 B 的 parent/child。

干杯!

您可以绑定到 属性 服务

@Component({
  ...
  template: <div>{{myService.someProp}}</div>
})
class MyComponent {
  constructor(private myService:MyService){}
}

那就不用复制了。