我有一个可以做两件事的ng-class。可以说颜色是红色,类型是宝马。下课 1)创建/使用车红类 2)创建/使用car-bmw类
ng-class="['car-' + car.color, 'car-' + car.type]"
但是在同一个ng-class中,我还想要第三个表达式,即如果“isError”具有真值,则类.error必须在CSS中执行某些操作。像这样:
ng-class="{error: isError}"
如何将这两种不同类型的表达结合起来?
我试试这个但没有成功:
ng-class="['car-' + car.color, 'car-' + car.type, 'error': isError]"
非常感谢!
答案 0 :(得分:3)
评论中的任何解决方案,或者:
ng-class="getClasses(car, isError)"
$scope.getClasses = function (car, isError) {
var res = ['car-' + car.color, 'car-' + car.type];
if (isError) {
res.push('error');
}
return res;
}
答案 1 :(得分:0)
该指令以三种不同的方式运作,具体取决于哪种方式 表达式求值的三种类型:
如果表达式求值为字符串,则字符串应为1或 更多以空格分隔的类名。
如果表达式求值为数组,则为数组的每个元素 应该是一个字符串,它是一个或多个以空格分隔的类名。
- 醇>
如果表达式求值为一个对象,则为每个键值对 对于具有真值的对象,相应的键用作a 班级名称。
意思是,你不能在上面的单个表达式语法2中组合(在你的情况下,2& 3)。