我们可以有多个表达式来添加多个ng-class吗?
如。
<div ng-class="{class1: expressionData1, class2: expressionData2}"></div>
如果是,谁能举个例子这样做。
.
我们可以有多个表达式来添加多个ng-class吗?
如。
<div ng-class="{class1: expressionData1, class2: expressionData2}"></div>
如果是,谁能举个例子这样做。
.
当前回答
当不同表达式的值为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类周围的单引号。
其他回答
下面是一个使用OR ||操作符比较多个angular-ui-路由器状态的例子:
<li ng-class="
{
warning:
$state.includes('out.pay.code.wrong')
|| $state.includes('out.pay.failed')
,
active:
$state.includes('out.pay')
}
">
它将根据条件是否满足,向li类发出警告和/或激活。
你的例子适用于条件类(类名将显示expressionDataX是否为真):
<div ng-class=“(类别1:expressionData1,类别2:expressionData2)”></div>
你也可以添加多个类,由元素的用户提供:
<div ng-class=“[class1, class2]”></div>
用法:
<div class=“foo bar” class1=“foo” class2=“bar”></div>
使用控制器上的$scope方法,可以计算要在视图中输出哪些类。如果你有一个复杂的逻辑来计算类名,这是特别方便的,它将减少你视图中的逻辑量通过移动到控制器:
app.controller('myController', function($scope) {
$scope.className = function() {
var className = 'initClass';
if (condition1())
className += ' class1';
if (condition2())
className += ' class2';
return className;
};
});
在视图中,简单地说:
<div ng-class="className()"></div>
是的,你可以在ng-class中有多个表达式来添加多个类。
例如:
<div ng-class="{class1:Result.length==2,class2:Result.length==3}"> Dummy Data </div>
多亏了Scotch.io,我找到了另一种方法
<div ng-repeat="step in steps" class="step-container step" ng-class="[step.status, step.type]" ng-click="onClick(step.type)">
这是我的推荐信。路径