【问题标题】:How to remove a list object using angularJS如何使用 angularJS 删除列表对象
【发布时间】:2015-10-07 02:59:26
【问题描述】:

您好,我有一个 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_histories 之外的所有数据。我试过了

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

但它删除了整个数据,而不是所需的部分。我对 AngualrJS 很陌生。请帮助我。提前致谢。

【问题讨论】:

  • 你只想保留 check_histories 属性?
  • 是的,没错,阿尼克

标签: javascript java json angularjs angularjs-scope


【解决方案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];
   }
}

【讨论】:

    【解决方案2】:

    下划线方式:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-26
      • 1970-01-01
      • 1970-01-01
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多