1

我有以下代码从 AngularJS 的列表中删除一个项目:

$scope.removeItem = function() {
  if($scope.items.indexOf(toDelete) > -1) {
    var index = $scope.items.indexOf(toDelete);
    $scope.items.splice(index, 1);
  }
};

我的玉模板中的以下代码:

  div.row.spacing-small(ng-repeat='item in items')
    div.col-lg-4: p {{item}}
    div.col-lg-2: button.btn.btn-danger.btn-block Delete

items 对象基本上是一个数组,像这样:['foo', 'bar']。有没有办法将“删除”按钮与 removeItem 功能连接起来?我仍然在玩这个奇妙的框架,但它太新了,有时很难在文档中找到正确的东西。

4

2 回答 2

2
div.row.spacing-small(ng-repeat='item in items')
    div.col-lg-4: p {{item}}
    div.col-lg-2: button.btn.btn-danger.btn-block(ng-click=\"removeItem($index)\")


$scope.removeItem = function(index) {
    $scope.items.splice(index, 1);
};

这应该有帮助

更新

JSFIDDLE

于 2013-07-30T18:09:51.230 回答
0

我会使用 ng-click 指令并调用 removeItem(item)。由于您正在执行 ng-repeat,因此每个重复的块都将具有正确的项目引用。另外,我发现从 ng-repeat 调用函数时,最简单的方法是让函数引用它应该修改的对象。

于 2013-07-30T18:07:38.927 回答