Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 删除表行时,微调器显示在ng repeat中的所有行上,而不是仅显示被删除的行_Angularjs_Angularjs Ng Repeat - Fatal编程技术网

Angularjs 删除表行时,微调器显示在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

我有一个带有delete方法的表,附加到NG-REPEAT中的每一行。 我传递$index,delete工作,表更新得非常完美,除了操作指示器(微调器)显示在表的所有行上,而不仅仅是带有delete事件的行上

这是删除按钮,作为NG-REPEAT内行中的最后一个单元格

<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。如果你给我一个答案,我会把它标为被接受的答案。