javascript - AngularJS 按对象属性分组

标签 javascript angularjs

我有这个对象:

  $scope.items = [{ 
    "category": { "code": "10", "description": "Movies" },
        "item": {"code": "421", "description": "Noriko's Dinner Table" }
                  },{ 
    "category": { "code": "10", "description": "Movies" },
        "item": {"code": "511", "description": "Avatar" }
                  },{ 
    "category": { "code": "45", "description": "Books" },
        "item": {"code": "93", "description": "Divergent" }
                  },{ 
    "category": { "code": "45", "description": "Books" },
        "item": {"code": "72", "description": "Sense and Sensibility" }
                  },{ 
    "category": { "code": "33", "description": "TV Shows" },
        "item": {"code": "11", "description": "The Walking Dead" }
                  },{ 
    "category": { "code": "33", "description": "TV Shows" },
        "item": {"code": "60", "description": "The Bates Motel" }
                  }];

我正在尝试将它们分组,以便列表可以整齐地组织和查看。像这样:

enter image description here

但正如您所看到的,类别描述出现在每个项目上。我该怎么办?

  <ul>
    <li ng-repeat="item in items track by $id(item)"><div>{{item.category.description}}</div>{{item.item.description}}</li>
  </ul>

现场演示:http://plnkr.co/edit/mjek9xPo3ihBTiwW6U0V?p=preview

最佳答案

你想做这样的事情:

<ul ng-repeat="(key, value) in items | groupBy: 'category.description'">
 {{ key }}
   <li ng-repeat="item in value">
     {{ item.item.description }} 
   </li>
</ul>

利用 groupByfilter 中内置的 angularjs。

关于javascript - AngularJS 按对象属性分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36407589/

相关文章:

javascript - 如何在单击按钮时获取和输出里程表的当前值?

javascript - 如何使动态添加的 DOM 元素保持不变(刷新后)

javascript - 加载数据时的AngularJS ng-grid进度条

javascript - Internet Explorer 'InsertHTML' 兼容性问题

javascript - Angular UI 网格 : export hidden columns when user selects Export Visible data

javascript - 不能在引号内使用 Angular 值

angularjs - 如何让发起的Controller知道范围值已经改变

javascript - Angular js 和 bootstrap 模式选择框

javascript - 在javascript中添加多个数组中的值

javascript - AngularJS 从 Java Map 填充 ng-options 选项。 (排序问题)