У меня есть таблица, и каждая строка создается с использованием ng-repeat
. В одном из столбцов есть значок обновления, который при щелчке выполняет задачу. Однако, пока эта задача выполняется, я хочу, чтобы иконка вращалась; see here.Угловой: ng-show один повторяющийся элемент
Проблема, с которой я сталкиваюсь, заключается в том, что когда я нажимаю один из значков, все они вращаются, а не только на той же строке.
<td class="text-center">
<i ng-hide="refreshUserSpin" ng-click="refreshUser($index, user.id)" class="fa fa-refresh pointer"></i>
<i ng-show="refreshUserSpin" class="fa fa-refresh fa-spin "></i>
</td>
Так в мой контроллер, я установил refreshUserSpin
ложь:
app.controller('usersController', function($scope, Users) {
$scope.refreshUserSpin = false;
$scope.refreshUser = function(index, community_id) {
$scope.refreshUserSpin = true;
Users.refreshUser(community_id)
.success(function(data) {
$scope.users[index] = data.json;
$scope.refreshUserSpin = false;
});
};
});
Теперь это посылает все иконки в штопор. Каков правильный способ справиться с этим, поэтому он делает это только для этой строки.
Я пытался делать такие вещи, как:
<i ng-show="refreshUserSpin.$index" class="fa fa-refresh fa-spin "></i>
Затем делают $scope.refreshUserSpin.index = true;
, но это, похоже, не работает.
Любые идеи?
Как 'нг-repeat' создает новые возможности, необходимо иметь другую переменную флаг refreshUserSpin'' для обработки каждый ряд. Вы можете создать массив для достижения этого. –