0

angularjs を使用して API を統合しています。

各行にグリッド テーブルと DELETE ボタンがあります。

私のコントローラーには次のコードがあります:

$scope.singleAppDetails = {};

$scope.removeRow = function(detail, index){             

       var delRes =  $http.delete($scope.appUrl + detail.id, detail);
        delRes.success(function (data, status, headers, configs) {
            console.log(data);
        });
        delRes.error(function (data, status, headers, configs) {
            console.log(data);
        });
        $scope.singleAppDetails.splice(index, 1);
    };

$scope.singleAppDetails には以下が含まれます。

Object {id: "553e20fce4b0f4eb7d13fd13", name: "Amazon", appId: "3ebc86ea-62a7-419f-9f60-dc88b66efa6e", secret: "n9prQ8YSdcxuBAcQ1PX4DUeOUBZoAKqBHnCONrueGoUTE8pqFZ", domain: "e-commerce"}

しかし、コンソールに「TypeError: $scope.singleAppDetails.splice is not a function」というエラーが表示されます。

4

2 に答える 2

0

splice は配列のみのメソッドであり、 $scope.singleAppDetails はコード内のオブジェクトであるため、このエラーが発生します。

于 2015-04-28T13:13:00.683 に答える
0

splice()配列関数です。ドキュメントを参照してください。

singleAppDetails をオブジェクトとして定義します。

$scope.singleAppDetails = {};

回答: ID を次のように削除します。

delete $scope.singleAppDetails.id;

JSBin のこの例を参照してください。

于 2015-04-28T13:15:58.807 に答える