2015-04-28 161 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这个例子。