如何使用ng-click分别在几个元素上切换类?
在这个问题中,https: //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-click切换自己的类,该怎么办?
如果以这种方式设置它:
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-click事件(例如,button1的toggle1,button2的toggle2)-但这是最好的方法吗?
我为测试做了一个简单的指令:
module.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>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句