如何通过ng-click单独切换几个元素的类?
在这个问题http://stackoverflow.com/a/22072110/2169327切换类与一个点击是这样做:
CSS:
.red { color: red; }
JS:
$scope.toggle = false;
HTML:
<button id="btn" ng-click="toggle = !toggle" ng-class="{'red' : toggle}">Change Class</button>
但是如果我有几个按钮,每个应该切换自己的类与ng单击如果怎么办?
如果我这样设置:
HTML:
<button id="btn" ng-click="toggle = !toggle" ng-class="{'red' : toggle}">Change Class</button> <button id="btn2" ng-click="toggle = !toggle" ng-class="{'red' : toggle}">Change Class</button>
如果我按一个按钮,两个按钮都会切换。
我知道一个解决方法是为每个按钮定义一个自己的ng点击事件(f.ex toggle1为button1,toggle2为button2) – 但这是最好的方法吗?
我做了简单的指令测试:
原文链接:https://www.f2er.com/angularjs/145850.htmlmodule.directive('toggleClass',function() { return { restrict: 'A',link: function(scope,element,attrs) { element.bind('click',function() { element.toggleClass(attrs.toggleClass); }); } }; });
所以你可以使任何元素切换类你需要
<button id="btn" toggle-class="active">Change Class</button> <div toggle-class="whatever"></div>