链接AngularJS上的按钮操作

时间:2013-07-30 18:04:33

标签: javascript angularjs angularjs-ng-repeat

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

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

以下代码在我的jade模板中:

  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函数连接?我仍然在玩这个奇妙的框架,但它总是很新,以至于有时候在文档中找到正确的东西很难。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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