我有一个表,每行都是使用ng-repeat
生成的。其中一列有一个刷新图标,单击该图标执行任务。然而,在执行此任务时,我希望图标旋转; see here
我遇到的问题是,当我点击其中一个图标时,它们都旋转,而不是那一行。
<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
设置为false:
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;
,但这似乎不起作用。
有什么想法吗?
答案 0 :(得分:1)
试试这个
<强> HTML 强>
<td class="text-center">
<i ng-hide="refreshUserSpin[$index]" ng-click="refreshUser($index, user.id)" class="fa fa-refresh pointer"></i>
<i ng-show="refreshUserSpin[$index]" class="fa fa-refresh fa-spin "></i>
</td>
<强> JS 强>
app.controller('usersController', function($scope, Users) {
$scope.refreshUserSpin = {};
$scope.refreshUser = function(index, community_id) {
$scope.refreshUserSpin[index] = true;
Users.refreshUser(community_id)
.success(function(data) {
$scope.users[index] = data.json;
$scope.refreshUserSpin[index] = false;
});
};
});