ng-class多类条件

时间:2015-01-28 10:13:03

标签: angularjs angularjs-scope angularjs-ng-repeat

我有深度级别为3的类别列表,因此每个级别都有课程但是当我选择“ cat ”样式的3级类别时,我需要添加“活动”类到li元素但是没有线索如何为ng-class modlue添加多个条件我试过这种方式和其他一些方法但没有运气我只需要将活动类附加到点击链接的li元素?

<li ng-repeat="category in categories track by category.id" ng-class="{1: 'root', 2: 'sub', 3: 'cat'}[category.depth] || {cActive: 'active'}[category.id]">
  <a ng-click="setCategory(category.id)">{{category.title}}</a>
</li>

这是我的范围函数

$scope.setCategory = function ($category.id) {
    $scope.cActive = $category.id;
}

1 个答案:

答案 0 :(得分:2)

ng-class期望一个对象,你的语法正在尝试将两个字符串与||运算符合并。那不行。

以下是正确使用ng-class的方法:

ng-class="{root: category.depth === 1,
           sub:  category.depth === 2,
           cat:  category.depth === 3,
           active: cActive === category.id}"