你好,我有以下问题:
我有一个组件A
,其中暴露了一些Inputs
和一些Outputs
。该组件内部有一个嵌套的B
组件。
B
组件内部还嵌套有一个C
组件。
我想知道A
和C
之间是否有另一种通信方式(同步或绑定),而不经过B
。
ComponentA
bindToCSomehow:number;
@Input()
inputFromC:number;
<componentB></componentB>
<p>{{inputFromC}}</p>
<p [emitterFromC]="doSomething($eventFromC)"></p>
ComponentB
<componentC></componentC>
ComponentC
fromA:number; //somehow i need this bound from A
@Output()
emitterFromC:EventEmitter=new EventEmitter();
onClick():void{
this.emitterFromC.emit(true);
}
<button (click)="onClick()"></button>
<p>{{fromA}}</p>
是否有任何方法可以使A
和C
进行通信,而不必映射B
内部的所有输入/输出?我不希望B
成为我需要一种快速可靠的方式来同步两者。
我当时在考虑使用服务在它们之间传递数据..但我担心这样做会产生很大的开销。
PS 我简化了场景。.我的数据结构是JSON
,所以我的组件想要这样:
<ComponentA> <---|
<COmponentB> |
<COmponentC> | How do i link these two efficiently ?
<ComponentC> |
.............. |
<ComponentC> // <---|