在angularjs中的ng-click中的三元表达式

时间:2014-06-19 17:52:14

标签: angularjs ternary-operator conditional-operator

我想知道是否可以在ng-click属性中使用三元表达式。 我不想在可能的情况下使用单独的控制器功能

这是一个双按钮切换设置 - 我可以进行简单的切换工作,但不要再次点击"关闭"按钮重新开启。

ng-click中的三元组不起作用(注意ng-class中的三元组确实有效):

<button
    ng-click="allOn2==true ? allOn2 : !allOn2"
    ng-class="allOn2==true ? 'btn-green-on' : 'btn-green-off'">
ON</button>

这里有一个更完整的jsfiddle: toggler

2 个答案:

答案 0 :(得分:5)

你没有对三元表达做任何事情。要使它有用,请指定它:

{{ var1 }} {{ var2}}
<button
    ng-click="var1 = (allOn2==true ? allOn2 : !allOn2)"
    ng-class="{'btn-green-on':allOn2, 'btn-green-off' : !allOn2}">
ON</button>

我不确定如何为ng-class使用三元表达式,但是......

答案 1 :(得分:0)

您可以使用某些内容作为三元

的变通方法
 ng-click="(AppliedApps!=null && Collapse('CollapsedAppliedApplications')) || 
(AppliedApps.length==0 && Collapse('CollapsedAppliedApplications'))">