【问题标题】:Filter/Group by Data in angular按角度过滤/分组数据
【发布时间】:2015-12-15 21:13:22
【问题描述】:

我们有以下 JSON 格式从 rest 服务返回的数据,我想按 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"
    }
  ]
}

【问题讨论】:

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


【解决方案1】:

在前端分组的原因

假设您可以通过GET /activities 从后端获取集合。如果返回的 JSON 数组smallpre-sorted,那么后期(在前端)分组可能更灵活。这个前后端的分工遵循separation of concerns

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

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

如何在 Angular 中分组

请参阅 typescript1.7 - How to group data in Angular 2? - Stack Overflow 并在 Plunkr 上展示 Angular 的 Pipes 的建议作为答案。

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

【讨论】:

    猜你喜欢
    • 2015-10-17
    • 2019-01-02
    • 1970-01-01
    • 2016-06-29
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 2014-12-16
    • 1970-01-01
    相关资源
    最近更新 更多