AngularJS<li>
の要素にバインドされたアイテムの配列があります。<ul>
それぞれの横にある「アイテムを削除」をクリックして、アイテムを削除できるようにしたいです。
StackOverflow に関するこの回答では、正確にそれを行うことができますが、要素が削除される配列の名前がハードコーディングされているため、リスト間で使用することはできません。
ここでJSfiddle セットアップの例を見ることができます。ゲームの横にある [削除] をクリックしようとすると、ゲームではなく生徒が削除されます。
ボタンから戻すと、その時点でAngularthis
の $scope にアクセスできるようになりますが、その項目を親配列からきれいに削除する方法がわかりません。
ボタンを で定義しng-click="remove('games',this)"
、関数を次のようにすることができます。
$scope.remove = function (arrayName, scope) {
scope.$parent[arrayName].splice(scope.$index,1);
}
(この JSFiddleのように) しかし、私がその中にいる間に親配列に名前を付けるのは、1 年でコードを編集するときに機能を壊す非常に良い方法のようです。
何か案は?