2017-01-23 8 views
2

結合親 - http://plnkr.co/edit/5z4VEQ?p=previewAngular2親 - >子 - >私は仕事で次のコードを見てきました

<app-component2 [(value)]="value"></app-component2> 

あなたは私たちが子コンポーネントに値を渡すことを確認し、に戻って、それを渡すことができます親が変更されたとき(onChangeは入力ボックスからフォーカスした後にのみトリガされます)。

"valueChange"イベントエミッターがどこにも購読されていなくても、このコードは機能します。子コンポーネントにイベントエミッターがあり、そのイベントエミッターがvalueChangeと呼ばれる場合にのみ、このメソッドは機能します。

Angularが自動的にvalueとvalueChangeを接続することで明らかにいくつかの魔法が起こっていますが、これは実際にサポートされている機能であるかどうかわかりません。

+0

ここにすべてあります:https://angular.io/docs/ts/latest/cookbook/component-communication.html :) – Alex

+0

特定のセクションにリンクできますか?それはかなり長い文書ですが、私はそれを見て、例を見つけることができませんでした –

+0

入力(親子関係):https://angular.io/docs/ts/latest/cookbook/component-communication.html #!#親子からの出力(子から親へ):https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#child-to-parent – Alex

答えて

2

あなたが観察している行動はあなたにもこのことができますCheat sheet

enter image description here

希望に言及Template Synatx Guide.

enter image description here

その時にここでそれについての詳細を読むことができる、Two way data bindingです!

+0

うん、titleChangeバインディングは私が逃したものです。これはhttps://angular.io/docs/ts/latest/cookbook/component-communication.html(コンポーネントの通信ページ)には言及されておらず、私の好みには少し不思議です(イベントエミッタはtitleChangeという名前にする必要があります) 。 あなたはポイントを取得します:D –

+0

Angularの私の経験は、双方向データバインディングから始まりました。これは、Angularが私にもたらしたコア機能の1つでした。だから、2ウェイバインディングがどのように動作するのかは、多くの人にとって自然なことです。それが文書化されていないのかもしれないと思います。 –

+0

私は2つのデータバインディングをすべて持っていますが、それを動作させるために特別に名前付き出力を作成する必要があるのはちょっと奇妙です。 Emberを使っていない理由の一部であるEmber(私は思う)でそれが行われているのを見ました:D –

関連する問題