我有一个ng-repeat.而且我想改变那个元素与整个组的类别.
<button ng-class="defaultClass" ng-repeat="tube in node.Tubes" ng-click="toggleBtn(tube)">{{"Tube " + ($index + 1)}}</button>
在我的ng-click上使用上面的HTML我可以通过管,这实际上只给我从API传递的数据,如果我console.log(这)我在一个名为$$watchers的元素中看到类名,但似乎很奇怪从那里改变它.
$scope.toggleBtn = function (element) { console.log(element); console.log(this); }
在我的控制器中,我有$scope.defaultClass =“btn btn-off”;但如果我用函数改变它,它会改变每个元素.
我怎样才能更改单击元素的类?
解决方法
继续评论.比你不能使用$scope变量,因为,正如你所说,它将是相同的.要解决此问题,您需要正确使用ng-class.
文档: https://docs.angularjs.org/api/ng/directive/ngClass(参见页面底部的示例)
文档: https://docs.angularjs.org/api/ng/directive/ngClass(参见页面底部的示例)
<button ng-class="{'btn-on' : tube.toggled,'btn-off' : !tube.toggled}" ng-repeat="tube in node.Tubes" ng-click="toggleBtn(tube)">{{"Tube " + ($index + 1)}}</button>