我不能使用@Input
,因为这两个组件在组件树中相距很远。
使用服务看起来是唯一的选择,但是拥有一个基本上与所有组件的A属性重复的服务似乎非常难以理解。每次我在A中设置属性时,我还需要在服务中设置它,以便B可以访问它。看起来效率不高。
是否有办法在组件B中注入组件A的实例?请注意,A不是B的父/子。
干杯!
答案 0 :(得分:0)
您可以绑定到服务的属性
@Component({
...
template: <div>{{myService.someProp}}</div>
})
class MyComponent {
constructor(private myService:MyService){}
}
然后你不需要复制。