Angular 使用(ngModelChange)而不使用相应的[ngModel]

Angular 使用(ngModelChange)而不使用相应的[ngModel],angular,angular2-ngmodel,Angular,Angular2 Ngmodel,我一直在尝试使用ngModel对输入元素进行单向和双向绑定 我希望从视图绑定到模型,以便捕获用户输入。我可以通过在组件中创建一个变量(例如someVar)并使用[(ngModel)]=“someVar”在相应的视图模板中绑定到它来实现这一点 我知道这是[ngModel]=“someVar”和(ngModelChange)=“someVar=$event”的语法糖 但是,如果我省略了查看绑定的模型,即[ngModel]=“someVar”,那么someVar的值仍然没有定义 我无法理解这种行为,因

我一直在尝试使用ngModel对输入元素进行单向和双向绑定

我希望从视图绑定到模型,以便捕获用户输入。我可以通过在组件中创建一个变量(例如someVar)并使用[(ngModel)]=“someVar”在相应的视图模板中绑定到它来实现这一点

我知道这是[ngModel]=“someVar”和(ngModelChange)=“someVar=$event”的语法糖

但是,如果我省略了查看绑定的模型,即[ngModel]=“someVar”,那么someVar的值仍然没有定义


我无法理解这种行为,因为省略视图到模型绑定不会导致任何问题。

[ngModel]
需要使用
(ngModelChange)
因为它是
ngModel
指令的@Output。

您的问题是它为什么会这样做,或者如何在没有其他方法的情况下从视图到模型进行绑定?我的2美分:如果您不需要绑定变量(即只需要输出绑定),您可以使用
ngModel
(不带方括号,也不指定任何值)。