我们以下面的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"
}
]
}
答案 0 :(得分:0)
假设您可以通过 GET /activities
从后端获取一个集合。如果返回的 JSON 数组 是 small 或 预排序,则后期分组(在前端)可能会更灵活。前端和后端之间的这种分工遵循separation of concerns:
术语前端和后端是指表示层(前端)和数据访问层之间的关注点分离 (后端)
限制:数据应该小,因为这样可以在前端完全获取和独立排序。相反,大数据在加载/分组时会导致性能问题。因此,它应该在服务器上预排序,如果您的 REST API(后端)支持对集合资源进行排序/分页,就可以实现这一点。
请参阅 typescript1.7 - How to group data in Angular 2? - Stack Overflow 并提供有关 Plunkr 上演示的 Angular Pipes 的建议。
与旧的 AngularJS 类似,有一个 Filter 组件实现了相同的目标: 数据的转换/分组/过滤。