Javascript 如何通过单击方式添加和删除活动类

Javascript 如何通过单击方式添加和删除活动类,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我是这样做的 <div class="tiles" ng-repeat="stat in states" ng-click="select(stat)" ng-class="{active: isActive(stat)}"> .... </div> 单击互动程序它正在添加活动类,并单击其他互动程序从第一个互动程序中删除并添加到另一个互动程序。它按预期工作。但我尝试实现的是再次单击相同的互动程序,我必须删除活动类,再次单击我必须添加类似的切换。但不知道

我是这样做的

 <div class="tiles" ng-repeat="stat in states" ng-click="select(stat)" ng-class="{active: isActive(stat)}">
    ....
    </div>

单击互动程序它正在添加活动类,并单击其他互动程序从第一个互动程序中删除并添加到另一个互动程序。它按预期工作。但我尝试实现的是再次单击相同的互动程序,我必须删除活动类,再次单击我必须添加类似的切换。但不知道如何实现。请帮助将代码更改为:

$scope.select= function(item) {
    if (item === $scope.selected) {
        $scope.selected = null;
    } else {
        $scope.selected = item;
    }

};

更新选择函数,将
selected
属性设置为
null
(如果已选择):

$scope.select = function(item) {
    $scope.selected = ($scope.selected === item ? null : item); 
};
JSFiddle示例

$scope.select = function(item) {
    $scope.selected = ($scope.selected === item ? null : item); 
};