AngularJS 中的 GroupBy 过滤器
GroupBy Filter in AngularJS
我有一组时间线,我想按日期分组 (dd/MM/YYYY)。我试图在没有任何库的情况下制作自己的 "groupBy"(我真的很喜欢),但我没有成功。所以我决定搜索一个可以执行此操作的库,我发现了这个:angular-filter,所以现在我正在尝试使用它。
问题是我不知道我做错了什么,我按照这个 example and created my JS Bin 来说明我的情况。总是说日期格式错误,为什么?
顺便说一句,预期结果是:
日期:17/06/2016
- 时间线项目:已编辑电子邮件
- 时间线项目:一封电子邮件已删除
- 时间线项目:已编辑电子邮件
日期:18/06/2016
- 时间线项目:添加了一封电子邮件
- 时间线项目:添加了一封电子邮件
Angular 中的过滤器被调用了很多次,而不仅仅是一次。因此,在第一个摘要中,您的 created_at
值将转换为 D/M/Y
格式。然后,在下一个摘要期间 Angular 再次调用您的过滤器时,它会尝试创建一个具有已转换值的日期(即 new Date('18/06/2016')
)。所以你得到一个无效日期作为结果。
解决方案是在将日期分配给视图之前在控制器中转换一次日期并省略 map: ...
过滤器。
我有一组时间线,我想按日期分组 (dd/MM/YYYY)。我试图在没有任何库的情况下制作自己的 "groupBy"(我真的很喜欢),但我没有成功。所以我决定搜索一个可以执行此操作的库,我发现了这个:angular-filter,所以现在我正在尝试使用它。
问题是我不知道我做错了什么,我按照这个 example and created my JS Bin 来说明我的情况。总是说日期格式错误,为什么?
顺便说一句,预期结果是:
- 日期:17/06/2016
- 时间线项目:已编辑电子邮件
- 时间线项目:一封电子邮件已删除
- 时间线项目:已编辑电子邮件
- 日期:18/06/2016
- 时间线项目:添加了一封电子邮件
- 时间线项目:添加了一封电子邮件
Angular 中的过滤器被调用了很多次,而不仅仅是一次。因此,在第一个摘要中,您的 created_at
值将转换为 D/M/Y
格式。然后,在下一个摘要期间 Angular 再次调用您的过滤器时,它会尝试创建一个具有已转换值的日期(即 new Date('18/06/2016')
)。所以你得到一个无效日期作为结果。
解决方案是在将日期分配给视图之前在控制器中转换一次日期并省略 map: ...
过滤器。