Angularjs 删除表行时,微调器显示在ng repeat中的所有行上,而不是仅显示被删除的行
我有一个带有delete方法的表,附加到NG-REPEAT中的每一行。 我传递$index,delete工作,表更新得非常完美,除了操作指示器(微调器)显示在表的所有行上,而不仅仅是带有delete事件的行上 这是删除按钮,作为NG-REPEAT内行中的最后一个单元格Angularjs 删除表行时,微调器显示在ng repeat中的所有行上,而不是仅显示被删除的行,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,我有一个带有delete方法的表,附加到NG-REPEAT中的每一行。 我传递$index,delete工作,表更新得非常完美,除了操作指示器(微调器)显示在表的所有行上,而不仅仅是带有delete事件的行上 这是删除按钮,作为NG-REPEAT内行中的最后一个单元格 <button class="btn btn--transparent btn--link" ng-if="campaign.status === 'PENDING'" aria-label="Delete" data-c
<button class="btn btn--transparent btn--link" ng-if="campaign.status === 'PENDING'" aria-label="Delete" data-click="megAdminCtrl.removeCampaign(campaign.id, $index)" wgu-confirm-click="Are you sure you wish to completely remove the record of this campaign with the id '{{campaign.id}}'?">
<span ng-show="!megAdminCtrl.isRemoving" class="icon icon--mid icon--inline-before icon--mid--garbage-can"></span>
<span ng-if="megAdminCtrl.isRemoving"><span class='spinner spinner--inline'></span></span>
Delete
</button>
删除
这是要删除的ctrl方法,该方法调用srvc
self.removeCampaign = function(cId, idx) {
self.isRemoving = true;
campaignSrvc.removeCampaign(cId).then(function(idx) {
var index = idx;
var tempArr = eval(self.campaigns);
for(var i = 0; i < tempArr.length; i++) {
if(tempArr[i].id === cId) {
index = i;
break;
}
}
if(index === -1)
$log.log("an error occured");
self.campaigns.splice(index, 1);
self.isRemoving = false;
});
};
self.removeCampaign=函数(cId,idx){
self.isRemoving=true;
活动srvc.removeCampaign(cId).then(函数(idx){
var指数=idx;
var tempArr=评估(自我活动);
对于(变量i=0;i
“self.isRemoving”是用于显示/隐藏微调器/图标的t/f标志
我以前从未遇到过这种情况,不知道如何使微调器仅显示在一行上。一定有什么我错过了。任何建议都将不胜感激。您需要将isRemoving标志附加到每一行,而不是整个控制器。是否要详细说明@ABOS?删除(row){row.isRemoving=true;callBackend。然后(row.isRemoving=false;)},您必须将每一行的行传递到此回调,并使用ng show=“row.isRemoving”感谢@ABOS。如果你给我一个答案,我会把它标为被接受的答案。