angularjs – 更改ngRepeat中仅一个元素的类

前端之家收集整理的这篇文章主要介绍了angularjs – 更改ngRepeat中仅一个元素的类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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(参见页面底部的示例)

<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>

http://plnkr.co/edit/WKLJ45yRYu1583C2ZnfT?p=preview

猜你在找的Angularjs相关文章