1

我正在尝试在角度类(ng-class)指令中编写三元和布尔表达式的混合。但我找不到正确的语法来使它工作,或者在网上找到一个像样的例子。

我知道在 Angular 类指令中,我们可以编写一个三元表达式,如下所示。

<... ng-class="isAdmin ? 'enabled' : 'disabled'" ...>

还有一个布尔表达式,例如。

<... ng-class="{visible:isPowerUser}" ...>

但是有没有办法像这样混合它们?

<... ng-class="{visible:isPowerUser} & (isAdmin ? 'enabled' : 'disabled')" ...> 

谢谢

4

2 回答 2

0

如果您担心 isPowerUser 唯一可见的功能,您可以将其分离:

ng-if="isPowerUser" ng-class="{true:'enabled', false:'disabled'}[isAdmin]"
于 2014-02-06T17:50:39.370 回答
0

你可以使用这样的东西:

ng-class="{visible: isPowerUser, enabled: isAdmin, disabled: !isAdmin}"
  • 如果isAdmin是,将分配启用true的类
  • 否则!isAdmin(is false),将分配禁用类

isPowerUser如果为真,也将分配可见的。更多细节

其他选项可能是这样的:

ng-class="{visible: isPowerUser && isAdmin}" 

visible只有当两个部分都为真时才会分配类

于 2014-01-01T15:48:55.867 回答