javascript - 如何在点击时添加和删除事件类 - Angular 方式

标签 javascript jquery angularjs

我是这样做的

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

// Controller

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

 $scope.isActive = function(item) {
      return $scope.selected === item;

};

点击图 block 添加事件类并点击其他图 block 从第一个图 block 移除并添加到另一个图 block 。它按预期工作。但我想要实现的是再次点击相同的图 block 我必须删除事件类,再次点击我必须添加像切换。但不知道如何实现这一点。请帮忙

最佳答案

更新您的 select 函数以将 selected 属性设置为 null(如果它已被选中):

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

JSFiddle 示例

http://jsfiddle.net/bATZ5/

关于javascript - 如何在点击时添加和删除事件类 - Angular 方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24474105/

相关文章:

javascript - 克隆表行后编辑输入名称和 ID

jquery - 使用 jQuery AJAX 显示正确的错误消息

javascript - AngularJS - 对 Web Api 端点的 $HTTP 错误请求

javascript - 如何使用内置进度条获得工作按钮动画?

javascript - AngularJS 如何点击拇指并出现视频?

javascript - 平滑滚动 ID 数组

javascript - 未调用 onreadystatechange 的 XMLHttpRequest 原型(prototype)

jquery - 使用 select2 插件 (v4) 防止重新加载数据

javascript - 为什么JS中递归比迭代快?

javascript - AngularJS 中的内联标签