嗨我有一个Angular数据如下,
{"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
之外的所有数据。我试过了
$scope.clear = function(index) {
$scope.final_data.checks.splice(index, 1);
};
但它删除了整个数据,而不是所需的部分。对于AngualrJS来说,这是一个新手。请帮帮我。提前致谢。
答案 0 :(得分: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];
}
}
答案 1 :(得分:0)
Underscore方式:
$scope.final_data.checks = _.pick($scope.final_data.checks, 'check_histories');