我有以下代码从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函数连接?我仍然在玩这个奇妙的框架,但它总是很新,以至于有时候在文档中找到正确的东西很难。
答案 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调用函数时,最简单的方法是使函数引用它应该修改的对象。