HTMLコード:
<li ng-repeat="obj in objects">{{obj.name}} <a ng-click="remove($index)">x</a></li>
JavaScriptコード:
$scope.remove = function(index){
$scope.objects.splice(index, 1);
}
JSONデータ:
{
"0": { "name": "name1" },
"1": { "name": "name2" }
}
ときにremove()
呼ばれて、私が取得TypeError: $scope.objects.splice is not a function
ここで私が知っている、$scope.objects
配列でないので、splice()
動作しません。
選択したインデックスを削除する方法はありますか?
前もって感謝します...
配列ではなくjsonオブジェクトを使用しているため、次のようにng-repeatを使用できます。
<li ng-repeat="(key,value) in objects">{{value.name}} <a ng-click="remove(key)">x</a></li>
removeメソッドが現在のリスト要素をキーで削除できるようにするには、次のようにします。
$scope.remove = function(key) {
delete $scope.objects[key];
}
これがプランカーです。
$ indexは動的であるのに対し、キーは動的ではないため、このような場合は非常に混乱します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加