angularjs - 直接绑定(bind)到 value 属性而不是 ngModel

标签 angularjs angular

为了将输入的值绑定(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)。

另请参阅https://github.com/angular/angular/blob/2.4.8/modules/%40angular/forms/src/directives/checkbox_value_accessor.ts#L17-L50

关于angularjs - 直接绑定(bind)到 value 属性而不是 ngModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42779231/

相关文章:

angularjs - 对服务的访问是否由子 Controller 继承?

javascript - 如何使用 Angular Controller 从 Mongo 数据库获取数据

javascript - 将值传递给扩展插件 ng2 智能表

Angular 4+ bootstrap NgbAccordion 如何全部展开/折叠

angularjs - 我该怎么做才能使用 UI-Grid 获取屏幕上显示的行

javascript - Angular UI-Select 为 "Tagging"对象添加重复标签

javascript - AngularJS 中带有对象的 startWith 过滤器

angular - Angular 2 的代码覆盖率

angular - 没有 OktaAuth 的提供者但 OktaAuth 定义?

angular - ionic : Item with title and detail text