Angular2 +データフロー:
Angularでは、データは次の方法でモデル(コンポーネントクラスts.file)とビュー(コンポーネントのhtml)の間を流れることができます。
- モデルからビューへ。
- ビューからモデルへ。
- データは両方向に流れます。これは、双方向データバインディングとも呼ばれます。
構文:
表示するモデル:
<input type="text" [ngModel]="overRideRate">
この構文は、プロパティバインディングとも呼ばれます。これoverRideRate
で、入力フィールドのプロパティが変更されると、ビューが自動的に更新されます。ただし、ユーザーが番号を入力したときにビューが更新された場合、overRideRate
プロパティは更新されません。
モデルの表示:
(input)="change($event)" // calling a method called change from the component class
(input)="overRideRate=$event.target.value" // on input save the new value in the title property
ここで発生するのは、イベントがトリガーされることです(この場合、入力イベントですが、任意のイベントである可能性があります)。次に、コンポーネントクラスのメソッドを呼び出すか、プロパティをクラスプロパティに直接保存できます。
双方向データバインディング:
<input [(ngModel)]="overRideRate" type="text" >
次の構文は、双方向のデータバインディングに使用されます。これは基本的に両方の構文糖衣です。
- モデルを表示にバインドします。
- ビューをモデルにバインドする
これで、クラス内で何かが変更され、これはビュー(モデルからビュー)を反映し、ユーザーが入力を変更するたびにモデルが更新されます(ビューからモデル)。
[ngModel]
-これはプロパティバインディングのみであり、双方向バインディングではありません。したがって、新しい値を入力しても更新されませんoverRideRate
。