代码之家  ›  专栏  ›  技术社区  ›  Omar

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

  •  1
  • Omar  · 技术社区  · 7 年前

    我的服务

    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实时数据库获取活动的方式。将此修改为按 created 价值。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Edgar    7 年前

    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 );
        });
    }
    
        2
  •  1
  •   Sachila Ranawaka    7 年前

    订阅后排序。

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