一尘不染

AngularJS:反向复选框状态

angularjs

通过某种方式,通过Angular的魔力,如果您使用ng- model并提供一个布尔值,则如果布尔值是true,则您的复选框将被选中,如果布尔值是true,则未选中。

<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">

阅读 258

收藏
2020-07-04

共1个答案

一尘不染

您现在就可以做到这一点,而无需自定义指令,角度支持ng-true-valueng-false-value

https://docs.angularjs.org/api/ng/input/input
[复选框]

您的示例现在应该可以工作 <input type="checkbox" ng-model="video.hidden" ng-true- value="false" ng-false-value="true">

2020-07-04