AngularFire2 实时数据库按日期值排序

AngularFire2 RealTime DataBase sort by date value

我的服务

get ActivityList():any {
    return this.activityList.snapshotChanges().map(changes => {
        return changes.map(c => ({ 
            key: c.payload.key, ...c.payload.val();
        }));
    });
}

我的组件

getActivity() {
    this.activityService.ActivityList.subscribe(activity => {
        this.activity = activity;
    });
}

HTML

<div *ngFor="let item of activity">
    {{item.created|date:'medium'}}
</div>

问题

这就是我目前从 Firebase 实时数据库获取 activity 的方式。在哪里以及如何修改它以按 created 值排序的最佳方法。

订阅后排序。

getActivity() {
    this.activityService.ActivityList.subscribe(activity => {
        this.activity = activity.sort((a, b) => a.create - b.create );;
    });
}

将服务更改为

get ActivityList():any {
    return this.activityList.snapshotChanges().map(changes => {
        return changes.map(c => ({ key: c.payload.key, ...c.payload.val() })).sort((a, b) => b.created - a.created );
    });
}