開発者ドキュメント

Angularでのデータバインディング

データバインディングはAngularのコアコンセプトであり、コンポーネントとDOM間の通信を定義できるため、データのプッシュとプルを気にすることなく、インタラクティブなアプリケーションを非常に簡単に定義できます。 データバインディングには4つの形式があり、データの流れ方が異なります。

この投稿はAngular2以上をカバーしています

コンポーネントからDOMへ

補間:{{値}}

これにより、コンポーネントのプロパティの値が追加されます。

<li>Name: {{ user.name }}</li>
<li>Email: {{ user.email }}</li>

プロパティバインディング:[property] =“ value”

プロパティバインディングを使用すると、値はコンポーネントから指定されたプロパティに渡されます。これは多くの場合、単純なhtml属性です。

<input type="email" [value]="user.email">

さらに2つの例を示します。1つはコンポーネントのselectedColorの値から背景色を適用し、もう1つはisSelectedがtrueと評価された場合にクラス名を適用します。

<div [style.background-color]="selectedColor">


DOMからコンポーネントへ

イベントバインディング:(イベント)=「関数」

特定のDOMイベントが発生した場合(例: click change keyup )、コンポーネントで指定された指定されたメソッドを呼び出します。 以下の例では、ボタンがクリックされると、コンポーネントの cockPotato()メソッドが呼び出されます。

<button (click)="cookPotato()"></button>

双方向

双方向データバインディング:[(ngModel)] =“ value”

ボックス構文でバナナと呼ばれるものを使用すると、双方向のデータバインディングにより、データフローを双方向にすることができます。 この例では、user.emailデータプロパティが入力の値として使用されていますが、ユーザーが値を変更すると、コンポーネントプロパティが自動的に新しい値に更新されます。

<input type="email" [(ngModel)]="user.email">
モバイルバージョンを終了