GroupBy for Observable <todo []>

时间:2018-02-19 11:19:14

标签: angular firebase ionic-framework rxjs google-cloud-firestore

我在我的角度应用程序(离子框架)中从firestore检索todo项目的平面列表。返回的列表是一个Observable列表,我使用异步管道在我的模板中显示列表。 这个todo项目列表有截止日期,我想在其上进行一些自定义分组,以便在我的todolist应用程序中显示组标题。

小组是:

overdue (duedate < today)
today (duedate == today)
later (duedate > today)

我尝试在视图中使用一些神奇的ngFor和ngIf进行实验,但感觉不对。我也在阅读有关RxJS的GroupBy,但可以提供其他建议或帮助。定制管道?

1 个答案:

答案 0 :(得分:1)

只需使用不同的可观察量,就没有理由让它变得过于复杂。

const items$ = /* … */;

const overdueItems$ = items$.filter(item => …);
const todayItems$ = items$.filter(item => …);
const laterItems$ = items$.filter(item => …);
  

自定义管道?

出于性能原因,Angular不鼓励用户过滤管道。