我在问这个问题之前提到过这一点:AngularJs 不将 ng-checked 与 ng-model 绑定 https://stackoverflow.com/questions/14226439/angularjs-doesnt-bind-ng-checked-with-ng-model
If ng-checked
被评估为true
on the html
边, 的ng-model
没有更新。我不能ng-repeat
正如上面问题中所建议的,因为我必须为每个复选框使用一些样式。
这是我为了说明我的问题而创建的 plunker。
http://plnkr.co/edit/YsOsPh3vjkPMUUDa6r2t http://plnkr.co/edit/YsOsPh3vjkPMUUDa6r2t
要查看我想要的内容,请打开控制台,然后单击Submit
按钮。请不要选中任何复选框。
ngModel
and ngChecked
不应该一起使用。
ngChecked
正在期待一个表达,所以说ng-checked="true"
,您基本上是说默认情况下始终会选中该复选框。
你应该能够使用ngModel
,绑定到模型上的布尔属性。如果你想要别的东西,那么你要么需要使用ngTrueValue
and ngFalseValue
(目前仅支持字符串),或者编写您自己的指令。
您到底想做什么?如果您只想默认选中第一个复选框,则应该更改您的模型 -item1: true,
.
编辑:您不必提交表单来调试模型的当前状态,顺便说一句,您可以转储{{testModel}}
到您的 HTML 中(或<pre>{{testModel|json}}</pre>
)。还有你的ngModel
属性可以简化为ng-model="testModel.item1"
.
http://plnkr.co/edit/HtdOok8aieBjT5GFZOb3?p=preview http://plnkr.co/edit/HtdOok8aieBjT5GFZOb3?p=preview
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)