不知何故,通过Angular的魔法,如果你使用ng-model并提供一个布尔值,你的复选框将被检查,如果所述布尔值是真的,如果假的话,取消选中。
<input type="checkBox" ng-model="video.hidden">
虽然这单独是相当困惑,我实际上正试图逆转检查状态,因为不像todo示例,其中todo.done意味着框被检查,我的模型更像todo.incomplete。
不幸的是,我的第一个猜测没有工作:
<input type="checkBox" ng-model="!video.hidden">
我在一个位置,模型已经被我指示,所以我不能改变它,不想在客户端上按摩它(因为我将客户端对象发送回服务器,因为它运行在可信环境中)。
更新
这工作在1.3和不给你字符串(1.2.xxx给你字符串,而不是布尔):
<input type="checkBox" ng-model="video.hidden" ng-true-value="false" ng-false-value="true">
你现在可以不需要自定义指令,angular支持ng-true-value和ng-false-value
https://docs.angularjs.org/api/ng/input/input[checkbox]
你的例子应该现在工作< input type =“checkBox”ng-model =“video.hidden”ng-true-value =“false”ng-false-value =“true”>