入れ子配列を持つjsonオブジェクトの配列があります。私はこれらのネストされた配列でリストを作成するためにng-repeatを使用しています。私はリストからボタンをクリックすると動的に項目を削除したい。私はthat-ng-repeat生成リストから動的に要素を削除する
$scope.remove= function(path){
var obj = $scope.results[$scope.editIndex];
var i;
for(i = 0; i<path.length-1;i++){
var key = path[i].key;
var index = path[i].index;
if(!obj[key]) return;
obj = obj[key]
}
delete obj[path[i].key][path[i].index];
}
を行うには、コントローラ内の関数を書かれているし、呼び出すことが
<ul ng-show="showFeatures">
<li ng-repeat="(featureIndex,feature) in result.features">
<span ng-bind="feature" contenteditable={{result.edit}}></span>
<i class="flr-always material-icons pointer" ng-show="result.edit" ng-click="remove([{key:'features',index:featureIndex}])">delete</i>
</li>
</ul>
問題は、最初の要素のインデックスはで変更されます後として、私は、複数の要素を削除することができないということですlike-配列を返しますが、ng-repeatはそのスコープ内のインデックスを変更しません。どうすればこの問題を解決できますか?変更を加えた後でng-repeatを作っても構わないのですか?
私は角度jを覚えていますので、そのようなことをするより良い方法があれば教えてください。ここで
jsonオブジェクトで配列のインデックスが変更されます。 – krrish
私は簡単な例を書いています。更新された回答をご覧ください。 –