谁能解释为什么我们在angular6形式的同一输入字段中都需要ngModel和#nameField =“ ngModel”?

时间:2018-08-07 13:15:56

标签: angular6 angular-forms

我从angular6开始,并且遇到了以下语法。

<input type="text" 
    class="form-control" 
    name="company-name"
    ngModel
    #nameField="ngModel"
    required
    minlength="3">

现在我的问题是ngModelname是否已经存在,可以唯一地标识表单组成部分和ngModel指令以将其与角度形式绑定,为什么我们需要#nameField="ngModel"?< / p>

我们可以输入name="company-name"中的输入值。那为什么要2 NgModel s?

#nameField="ngModel"[(ngModel)]="nameField"和有什么区别?

2 个答案:

答案 0 :(得分:2)

要创建有效的模板驱动的表单控件-只需添加name="company-name"ngModel

模板引用#nameField="ngModel"可以用作html中的变量(因此是可选的)。

[(ngModel)]="nameField"是Angular中又称为“香蕉盒”的双向数据绑定(有关更多详细说明,请阅读本文two-way-data-binding-in-angular-2或官方文档NgModel

答案 1 :(得分:0)

我一直认为验证也需要它,因此错误消息会很好地显示在控件下方。