如何使ngClick在0和1之间切换而不是true和false?

时间:2015-03-13 09:37:09

标签: angularjs

我想提供一个元素切换功能,到目前为止,我还有以下几点:

<span ng-click="rule.activated = !rule.activated" 
      ng-class="{active:rule.activated}">
    Toggle
</span>

但是,在用户指定的任何值之后,我想要发回的数据应该在01之间,而不是truefalse。目前,如果rule.activated的初始值为例如0,并且在点击span元素后,它会切换为true(后端不会为&#39} ; t处理正确,所以我必须避免它。)

我已尝试过此操作,但似乎是语法错误:

ng-click="rule.activated = (int) !rule.activated"

3 个答案:

答案 0 :(得分:1)

将rule.activated的类型更改为数字

$ scope.rule.activated = 0;

然后使用条件语句

<span ng-click="rule.activated = rule.activated == 0 ? 1 : 0"
    ng-class="{active:rule.activated==1}">

    {{rule.activated}}

    Toggle
</span>

答案 1 :(得分:0)

您可以使用条件语句

ng-click="rule.activated = rule.activated ? 1 : 0"

'?'之后的部分是真实的部分,':'之后的部分是假部分。

这将是整个声明

<span
    ng-click="rule.activated = rule.activated ? 1 : 0" 
    ng-class="{active:rule.activated == 1}">
    Toggle
</span>

答案 2 :(得分:0)

最好和最安全的方法是简单地编写一个处理它的函数并在ngclick中调用函数。