2015-10-07 53 views
0

您好我有一個角度的數據如下刪除列表對象,如何使用angularJS

{"category":"B","check_histories":[{"date_created":"2015-10-07T10:35:38","field_name":"category","new_value":"B","old_value":null,"resource_uri":"","type":1,"username":"e1007476"},{"date_created":"2015-10-07T10:35:39","field_name":"check_name","new_value":"222","old_value":null,"resource_uri":"","type":1,"username":"e1007476"},{"date_created":"2015-10-07T10:37:25","field_name":"check_name","new_value":"22233","old_value":"222","resource_uri":"","type":0,"username":"e1007476"}],"check_name":"22233","date_created":"2015-10-07T10:35:38","date_modified":"2015-10-07T10:37:25","id":134,"is_valid":true,"resource_uri":""} 

如何刪除除從數據check_historie S,所有的數據,當我點擊刪除按鈕。我試過

$scope.clear = function(index) { 
     $scope.final_data.checks.splice(index, 1); 
    }; 

但它刪除了整個數據,而不是所需的部分。對AngualrJS來說,這是相當新的。請幫助我。提前致謝。

+0

你只想保留check_histories屬性? –

+0

是的,這就是對Anik – gentle

回答

1

您可以使用JavaScript 「刪除」 如下:

delete $scope.final_data.checks.category; 
// or, 
delete $scope.final_data.checks['category']; 
// or, 
var prop = "category"; 
delete $scope.final_data.checks[prop]; 

在你的情況,你必須遍歷你的對象屬性並將其刪除:

angular.forEach($scope.final_data, function(value, key) { 
    if(key !== 'check_histories') { 
     delete $scope.final_data[key]; 
    } 
} 
0

下劃線的方式:

$scope.final_data.checks = _.pick($scope.final_data.checks, 'check_histories');