2015-04-28 58 views
0

我正在使用angularjs來集成我的apis。如何從angularjs中的json對象中刪除元素

我在每一行都有一個網格表和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"} 

但我得到 「類型錯誤:$ scope.singleAppDetails.splice不是一個函數」 在控制檯中出錯。

+0

你的問題對我來說還不清楚!你想要做什麼? - 請分享你的具有'ng-repeat' -HTH;的HTML代碼)。 –

回答

0

你得到那個錯誤,因爲splice只是一個數組的方法,$ scope.singleAppDetails是你的代碼中的一個對象。

+0

所以有什麼辦法從json對象中刪除元素? – mahendrakawde

+0

看看這裏:http://stackoverflow.com/questions/208105/how-to-remove-a-property-from-a-javascript-object –

0

splice()是一個數組函數。請參閱documents

您定義singleAppDetails作爲一個對象:

$scope.singleAppDetails = {}; 

答:刪除ID有:

delete $scope.singleAppDetails.id; 

查看JSBin這個例子。