如何在我的案例

时间:2015-04-23 23:55:49

标签: html css angularjs

我正在尝试在我的应用中添加ng-class类。

我有类似

的东西

HTML

 <li   ng-repeat="item in items"
       ng-click="getItem(item)"
       ng-class="{shine : item.isPick}"  // shine class will make the font color change to red
        >{{item.name}}
</li>

在我的控制器中

$scope.getItem = function(item) {
    $scope.items.forEach(function(item){
       item.isPick = false;  // remove all the items that have shine class
    })
    item.isPick = true; // adding the shine class back
}

基本上我想在用户点击它时删除所有其他“shine”类,但所选项目除外。我的代码在上面工作,但我认为有更好的方法来做它而不是循环所有的项目。有人可以帮我吗?非常感谢!

1 个答案:

答案 0 :(得分:3)

在转发器中使用$index,并在选择该索引时添加该类:

<li ng-repeat="item in items"
   ng-click="getItem($index)"
   ng-class="{shine : activeIndex == $index}"
    >{{item.name}}
</li>

$scope.getItem = function(index) {
    $scope.activeIndex = index;
}