这是一个模板示例:
<input type="number" class="form-control" [(ngModel)]="overRideRate" formControlName="OverRideRate">
<input type="number" class="form-control" [ngModel]="overRideRate" formControlName="OverRideRate">
他们俩在这里做同样的事情。首选哪一个,为什么?
这是一个模板示例:
<input type="number" class="form-control" [(ngModel)]="overRideRate" formControlName="OverRideRate">
<input type="number" class="form-control" [ngModel]="overRideRate" formControlName="OverRideRate">
他们俩在这里做同样的事情。首选哪一个,为什么?
Answers:
[(ngModel)]="overRideRate"
是...的缩写 [ngModel]="overRideRate"
(ngModelChange)="overRideRate = $event"
[ngModel]="overRideRate"
是要绑定overRideRate
到input.value
(ngModelChange)="overRideRate = $event"
是更新overRideRate
具有值input.value
时change
被发射的事件。它们共同为Angular2提供了双向绑定。
这非常简单[] =>组件到模板()=>模板到组件
[(ngModel)]
是[ngModel]="currentHero.name" (ngModelChange)="currentHero.name=$event">
此处有更多详细信息:https : //angular.io/docs/ts/latest/guide/template-syntax.html#!#ngModel
在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
这里发生的是触发了一个事件(在这种情况下为输入事件,但可以是任何事件)。然后,我们可以调用组件类的方法或将属性直接保存在类属性中。
2路数据绑定:
<input [(ngModel)]="overRideRate" type="text" >
以下语法用于2路数据绑定。基本上,这两种语法都是:
现在,在类中发生了一些变化,这将反映我们的视图(从模型到视图),并且每当用户更改输入时,模型就会被更新(从模型到视图)。
[ngModel]
-仅是属性绑定,不是双向绑定。因此,输入新值将不会更新overRideRate
。