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 に答える