绑定非嵌套组件

时间:2018-11-26 15:43:17

标签: typescript binding

你好,我有以下问题:

我有一个组件A,其中暴露了一些Inputs和一些Outputs。该组件内部有一个嵌套的B组件。 B组件内部还嵌套有一个C组件。 我想知道AC之间是否有另一种通信方式(同步或绑定),而不经过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>

是否有任何方法可以使AC进行通信,而不必映射B内部的所有输入/输出?我不希望B成为我需要一种快速可靠的方式来同步两者。 我当时在考虑使用服务在它们之间传递数据..但我担心这样做会产生很大的开销。

PS 我简化了场景。.我的数据结构是JSON,所以我的组件想要这样:

 <ComponentA>              <---|
   <COmponentB>                |
     <COmponentC>              |   How do i link these two efficiently ?
       <ComponentC>            |
          ..............       |
           <ComponentC> // <---|

0 个答案:

没有答案