为了将输入的值绑定(bind)到属性,我们使用 ngModel 指令。例如:
<input type='text' [(ngModel)]='model' />
为什么我们不能简单地在输入元素的 value
属性上使用绑定(bind)?
<input type='text' [(value)]='model' />
最佳答案
你可以做到
<input type='text' [value]='model' (input)="model=$event" />
[(value)]='model'
不起作用,因为 <input>
不发出valueChange
事件。
ngModel
还提供直接值绑定(bind)不提供的表单集成。
另请参阅https://angular.io/docs/ts/latest/guide/template-syntax.html#!#two-way
ngModel
提供的用途ControlValueAccessor
s,它们是为各种输入元素(也可以是您自己的组件的自定义元素)提供的指令,充当 ngModel
之间的适配器。和任何组件。这是为了统一与各种组件和输入元素的绑定(bind)。
关于angularjs - 直接绑定(bind)到 value 属性而不是 ngModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42779231/