我有一个 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(this)
我在名为 $$watchers
的元素中看到类名,但从那里更改它似乎很奇怪。
$scope.toggleBtn = function (element) {
console.log(element);
console.log(this);
}
在我的 Controller 中,我有 $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>
关于angularjs - 仅更改 ngRepeat 中一个元素的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27151868/