2017-03-22 11 views
1

拡張ファミリ(つまり、甥からおばさん、姪から叔母、自尊心)コミュニケーションを実現するには非常に分かりやすい解決策が必要です共通の親/祖先、外部サービス、またはngModelを持たないコンポーネント/ディレクティブ間で使用できます。例示として拡張ファミリーコンポーネント通信(親または外のサービスなし)

(コードが圧倒的であるが)、角材2がautocompleteこの例を使用する:

<md-input-container> 
    <input mdInput placeholder="State" [mdAutocomplete]="auto" [formControl]="stateCtrl"> 
</md-input-container> 

<md-autocomplete #auto="mdAutocomplete"> 
    <md-option *ngFor="let state of filteredStates | async" [value]="state"> 
     {{ state }} 
    </md-option> 
</md-autocomplete> 

魔法片mdInput指令入力に[mdAutocomplete]="auto"、及び実用反転#auto="mdAutocomplete"ありますmd-autocompleteコンポーネントにあります。

彼らは共通の祖先コンポーネント、ngModel、または私が認識している外部サービスの心配なしに叔父と甥のコミュニケーション関係を持ち、その逆もあります。しかし、もし私が間違っていれば私を修正してください。

このように、上記の例のように、このような双方向通信をオフにするにはどうすればよいですか?ところで

、これは役に立ちますが、一方向のみの例だった:passing data between siblings Angular2 using observables

答えて

0

一つの方法は、子供に親CompoNetをの変数をバインドする@Imputデコレータを使用することです。他の方法は、@Outputデコレータを使用して変数を親コンポーネントに返すことです。

@Input() variable:any; 
@Output() variableChanged: EventEmitter<any> = new EventEmitter<any>(); 
+0

@Roman_C多くの場合、うまくいく場合がありますが、親に依存しないものが必要です。 –

関連する問題