我们可以有多个表达式来添加多个ng-class吗?

如。

<div ng-class="{class1: expressionData1, class2: expressionData2}"></div>

如果是,谁能举个例子这样做。

.


当前回答

下面是一个使用OR ||操作符比较多个angular-ui-路由器状态的例子:

<li ng-class="
    {
        warning:
            $state.includes('out.pay.code.wrong')
            || $state.includes('out.pay.failed')
        ,
        active:
            $state.includes('out.pay')
    }
">

它将根据条件是否满足,向li类发出警告和/或激活。

其他回答

当不同表达式的值为true时应用不同的类:

<div ng-class="{class1 : expression1, class2 : expression2}">
    Hello World!
</div>

当一个表达式为真时应用多个类:

<!-- notice expression1 used twice -->
<div ng-class="{class1 : expression1, class2 : expression1}">
    Hello World!
</div>

或者很简单:

<div ng-class="{'class1 class2' : expression1}">
    Hello World!
</div>

注意css类周围的单引号。

是的,你可以在ng-class中有多个表达式来添加多个类。

例如:

<div ng-class="{class1:Result.length==2,class2:Result.length==3}"> Dummy Data </div>

我用这个:

[ngClass]="[{
    'basic':'mat-basic-button', 
    'raised':'mat-raised-button', 
    'stroked':'mat-stroked-button'
}[ 
    button.style ?? 'raised'
]]"

对于三元运算符表示法:

<div ng-class="expression1? 'class1 class2' : 'class3 class4'">

多亏了Scotch.io,我找到了另一种方法

<div ng-repeat="step in steps" class="step-container step" ng-class="[step.status, step.type]" ng-click="onClick(step.type)">

这是我的推荐信。路径