Javascript 在Angular JS中基于动态复选框类别过滤数据?

Javascript 在Angular JS中基于动态复选框类别过滤数据?,javascript,angularjs,filter,angular-filters,Javascript,Angularjs,Filter,Angular Filters,我试图实现一个过滤器复选框选项,其中包含按类别和子类别划分的动态数据 我想要的是 [] Category [] Sub Category [] Sub Category [] Category [] Sub Category [] Sub Category [] Sub Category ... and so on 假设上面的复选框为[] 以下是示例json数据: [ { "category": { "name": "AAA

我试图实现一个过滤器复选框选项,其中包含按类别和子类别划分的动态数据

我想要的是

[] Category
  [] Sub Category
  [] Sub Category
[] Category
  [] Sub Category
  [] Sub Category
  [] Sub Category 

... and so on
假设上面的复选框为
[]

以下是示例json数据:

  [

   {

      "category": {

         "name": "AAA - 1"

      },

      "parentcategory": {

         "name": "AAA"

      },

      "title" : "XXXXX",

   },

   {

      "category": {

         "name": "AAA - 2"

      },

      "parentcategory": {

         "name": "AAA"

      },

      "title" : "YYYY",

   }

]
基于以上数据,我真正想要的是

侧栏:

[] AAA
  [] AAA - 1 
  [] AAA - 2
主要内容:

最初显示标题。选中某项后,显示与该类别/子类别相关的标题


注意:请不要认为我在不劳而获地问。我见过一些类似的例子,但我找不到我想要实现的东西。顺便说一句,我不太熟悉角度。

如果我理解正确,你想要这样的东西:

首先,我从json数组中找到了第一个父项。然后找到此父项的子项并添加到其中

     angular.forEach($scope.itemList, function(itm) {
        var filteredItem = $filter('filter')($scope.itemList, { parentcategory: itm.parentcategory.name});
            if($filter('filter')($scope.parentItems, { name: itm.parentcategory.name}).length == 0){
                $scope.parentItems.push({name: itm.parentcategory.name, children:filteredItem});
            }
     });

我认为你没有很好地组织你的数据。为什么不将子类别嵌套在父类别中?数据将如何处理?示例?[“parentCategory1”:{“childCategory1”:{“title”:…,…},childCategory2”:{“title”:…,…},,,,,,,,,,,},“,parentCategory2”…我该如何过滤?这不是我的问题吗?@SatejS