按角度过滤/分组数据

时间:2015-12-15 21:13:23

标签: angularjs angularjs-ng-repeat angular-controller

我们以下面的JSON格式从休息服务返回数据,我想按ActivityStartDate and then show in format对数据进行分组。我可以通过ActivityStartDate迭代并创建组,但这似乎不是有效的方法,以防我们有更多的项目返回。

有没有更好的方法来实现它?

{
  "results": [
    {
      "Id": 1,
      "Title": "Food Promotion - 1",
      "ActivityStartDate": "2015-12-12T08:00:00Z",
      "ActivityEndDate": "2016-01-12T08:00:00Z",
      "ActivityDescription": "Two for one if dream and do not dream of fack promotions",
      "ShowInHistory": true,
      "ShowUpdated": true,
      "Modified": "2015-12-14T21:28:37Z",
      "Created": "2015-12-14T21:28:37Z"
    }
  ]
}

1 个答案:

答案 0 :(得分:0)

前端分组的原因

假设您可以通过 GET /activities 从后端获取一个集合。如果返回的 JSON 数组small预排序,则后期分组(在前端)可能会更灵活。前端和后端之间的这种分工遵循separation of concerns

<块引用>

术语前端和后端是指表示层(前端)和数据访问层之间的关注点分离 (后端)

限制:数据应该,因为这样可以在前端完全获取和独立排序。相反,大数据在加载/分组时会导致性能问题。因此,它应该在服务器上预排序,如果您的 REST API(后端)支持对集合资源进行排序/分页,就可以实现这一点。

如何在 Angular 中分组

请参阅 typescript1.7 - How to group data in Angular 2? - Stack Overflow 并提供有关 Plunkr 上演示的 Angular Pipes 的建议。

与旧的 AngularJS 类似,有一个 Filter 组件实现了相同的目标: 数据的转换/分组/过滤。