AngularJS ng-class if-else表达式

问题描述 投票:256回答:9

使用AngularJS,我以下列方式使用ng-class

<div class="bigIcon" data-ng-click="PickUp()" 
ng-class="{first:'classA', second:'classB', third:'classC', fourth:'classC'}[call.State]"/>

我想知道是否可以使用if-else表达式执行与此类似的操作:

<div class="bigIcon" data-ng-click="PickUp()" 
ng-class="{first:'classA', second:'classB', else:'classC'}[call.State]"/>

因此,无论何时call.Statefirstsecond不同,请使用classC并避免指定每个值?

angularjs ng-class
9个回答
521
投票

使用嵌套的嵌入式if-then语句(Ternary Operators


107
投票

您可以尝试使用类似的功能:


61
投票

[我遇到这样的情况,我需要两个都可以成立的'if'语句,如果两个都不成立,则需要'else'或默认值,不确定这是否对Jossef的回答有所改进,但对我来说似乎更干净:


13
投票

显然


3
投票

上述解决方案对于具有背景图像的课程不起作用。我要做的是创建一个默认类(其他情况下需要一个),并设置class ='defaultClass',然后设置ng-class =“ {class1:abc,class2:xyz}”


1
投票

这是执行此操作的最佳和可靠方法。这是一个简单的示例,之后您可以开发自定义逻辑:


0
投票

我的一种解决方法是只为ng类切换操作模型变量:


0
投票

以这种方式使用:


-3
投票

您可以尝试此方法:

© www.soinside.com 2019 - 2024. All rights reserved.