[(ngModel)] =" foo"之间的差异和Angular 4中的#foo?

时间:2017-04-24 13:42:33

标签: angular

[(ngModel)]="foo"有助于创建双向绑定,并允许我们在视图中引用动态更改foo的值。但是在视图中定义#foo也具有相同的效果。那么他们和我应该选择哪一个有什么区别呢?

1 个答案:

答案 0 :(得分:1)

[(ngModel)] =“foo”创建FormControl的实例以跟踪用户输入,验证和状态,#foo是对模板中当前DOM元素/指令的本地引用。 ngModel指令通过向元素添加#foo =“ngModel”来设置此#foo引用。

您可以在组件中访问原生元素:

   @ViewChild('foo') foo;

和组件中的NgModel为:

  @ViewChild('foo', {read: NgModel}) foo;