使用具有多个类的ngclass的表达式

时间:2014-11-28 13:41:31

标签: angularjs

这是使用ng-class添加多个类的方法:

<div ng-class="{a: first, b: second, c: third}"></div>

如果有多个类,我怎样才能使类名本身(即abc)表达式的结果?我希望其中一个类名是作用域上属性的值。

1 个答案:

答案 0 :(得分:1)

我认为最好的解决方案是使用函数更改ngClass内容,例如:

<div ng-class="myFunction()">hola</div>

然后定义一个函数,该函数执行最初在ngClass属性中指定的内容:

$scope.myFunction = function () {
    var x = {};
    x['a'] =  $scope.first;
    x['b'] = $scope.second;
    x[$scope.myClass] = $scope.third;
    return x;
};

通过这种方式,第三类是相对于变量的(其他三个变量用于引用第一,第二和第三)。

如果你检查这个jsfiddle,你按“添加C”然后“切换C与D”如何交换类:

http://jsfiddle.net/mhonns9d/