【发布时间】:2017-07-19 04:44:50
【问题描述】:
这是一个模板示例:
<input type="number" class="form-control" [(ngModel)]="overRideRate" formControlName="OverRideRate">
<input type="number" class="form-control" [ngModel]="overRideRate" formControlName="OverRideRate">
在这里他们都做同样的事情。首选哪一个?为什么?
【问题讨论】:
-
[ngModel]- 它只是属性绑定,不是双向绑定。所以输入新值不会更新overRideRate。 -
[(ngModel)] 是来自 Angular 2 的双向绑定。[ngModel] 只是为了显示。
-
弃用警告:在 Angular 6 中,(angular.io/api/forms/FormControlName#use-with-ngmodel) 声明如下:Angular v6 中已不推荐使用带有反应形式指令的 ngModel 输入属性和 ngModelChange 事件,并将被删除在 Angular v7 中。 另请参阅:(stackoverflow.com/questions/50371079/…)
-
sboggs10 您提供的链接是指将ngModel与反应形式结合起来,这几乎与问题无关。
-
这里有一个关于
[(ngModel)]、Two-way Data Binding in Angular的很好的解释