不知何故,通过 Angular 的魔力,如果您使用 ng-model
并为其提供一个 bool 值,则如果该 bool 值为 true,则您的复选框将被选中,如果为 false,则取消选中。
<input type="checkbox" ng-model="video.hidden">
虽然这一点相当令人困惑,但我实际上是在尝试反转选中状态,因为与 todo 示例不同,其中 todo.done
意味着该框被选中,我的模型更像 todo.incomplete
.
不幸的是我的第一个猜测没有成功:
<input type="checkbox" ng-model="!video.hidden">
我处于模型被指定给我的位置,所以我无法更改它,也不想在客户端上修改它(因为我将客户端对象发送回服务器,因为它在受信任的环境中运行)。
更新
这在 1.3 中有效,并且不会为您提供字符串(1.2.xxx 为您提供字符串而不是 bool 值):
<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">
关于AngularJS:反转复选框状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13925462/