ng-model =" xxx"之间的差异和价值=" {{xxx}}"?

时间:2014-07-02 18:24:19

标签: javascript angularjs

在常规表单中,当点击reset类型按钮(<button type="reset">Reset</button>)时,除readonlydisabled外,所有输入控件都将被清空。

http://jsfiddle.net/blaise_liu/K2f7g/

使用angular构建表单时,我有

<input type="text" id="district" disabled="" ng-model="address.district" />

在此表单中,当点击reset按钮时,即使将其标记为disabledreadonly,也会删除上面输入中的值。为什么?我应该使用ng-model绑定到此输入控件吗?我是否必须使用value=进行绑定?

<input type="text" id="district" disabled="" value="{{address.district}}" />

2 个答案:

答案 0 :(得分:2)

ng-model支持双向数据绑定。使用ng-model时,模型的值绑定到视图,更新模型将更新视图,反之亦然更新视图更新模型。使用{{address.district}}不会双向数据绑定。它只输出模型的值。请参阅:https://docs.angularjs.org/guide/forms

无论禁用属性如何,按钮类型重置都会重置模型。如果您不想要双向数据绑定,可以使用正如您所提到的{{address.district}}。请参阅:http://jsfiddle.net/K2f7g/1/

答案 1 :(得分:1)

ng-model添加了解析和验证。只是插值这个值就不够了。

在你的小提琴中,你将一个字段表示为requiredrequired也是另一个适用于ngModelController的指令。