2016-09-20 47 views
0

我读this artcle并在文章中我看到:Angular 2表单元素的属性 - 正确的语法?

<input type="search" [formControl]="seachControl">

<input type="text" formControlName="street">

我想知道正确的语法是什么声明formControlformGroup。我可以这样做

<input type="text" [formControlName]="street">

<input type="text" [attr.formControlName]="street">

<input type="text" [formControl]="street">?更具体地说,这三个实例有何不同?

回答

0

[formControl]="seachControl"就是我们所说的模型绑定,它绑定到主表单元素,即搜索。

当你有一个单一的形式元素,即search你只是简单的模型,可以绑定您的class内产生任何variable并千万记住您绑定的变量的类型。

,并作为

<input type="text" formControlName="street"> 

因为street这里是主要的formControl元素中创建您不必street变量的直接访问。所以这个指令的作用是告诉你这个标签所在的主/父元素应该绑定到你在formControl里面创建的street

至于

<input type="text" [formControlName]="street"> 

我不知道,但我觉得formControlName实际上并没有做绑定是那种告诉一下这个标签需要绑定到。语法建议它会尝试在你的类内部寻找街头变量来绑定它。

正如你所看到的,他说。

这是formControlName指令发挥作用的地方。这几乎相当于模板驱动表单中的ngModelname属性组合。每个表单控件获得一个formControlName指令应用,所以我们可以在外形

所以你只需要到外模型绑定,因为存在上注册控件/实例在classformControlNameformGroupName会照顾内在的因素。

+0

这一切都令人困惑。例如,我不太清楚'formControlName'是否被创建为组件类的属性 – davejoem

相关问题