如何使用ng-click从数组中删除一个项目或对象?

33 浏览
0 Comments

如何使用ng-click从数组中删除一个项目或对象?

我正在尝试编写一个函数,通过点击按钮可以删除项目,但我认为我对函数感到困惑了 - 我是否应该使用$digest

HTML和app.js:

    • {{bday.name}} | {{bday.date}}
      Delete

       

 

$scope.remove = function(){ $scope.newBirthday = $scope.$digest(); };

admin 更改状态以发布 2023年5月20日
0
0 Comments

这是一个正确的答案:

Delete
$scope.remove=function($index){ 
  $scope.bdays.splice($index,1);     
}

在 @charlietfl 的答案中,我认为它是错误的,因为您将 $index 作为参数传递,但在控制器中使用了 wish。如果我错了,请纠正我 🙂

0
0 Comments

要删除项,您需要从数组中删除它,并可以在标记中将bday项传递给您的删除函数。然后在控制器中查找项目的索引并从数组中删除

Delete

然后在控制器中:

$scope.remove = function(item) { 
  var index = $scope.bdays.indexOf(item);
  $scope.bdays.splice(index, 1);     
}

Angular将自动检测对bdays数组的更改,并更新ng-repeat

演示: http://plnkr.co/edit/ZdShIA?p=preview

编辑: 如果使用服务器进行实时更新,则可以使用您创建的$resource服务来管理数组更新,同时更新服务器

0