首页 > 解决方案 > Angular 4:如何使用来自 Firebase 实时数据库的数据对 ngFor 列表进行排序

问题描述

你如何排序(按键)来自 Firebase 实时数据库的数据列表?

这是我使用的 HTML 代码

<div *ngFor="let transaction of getTransactionList | async">
{{ transaction.amount }}
</div>

这是我用来从 firebase 获取数据的 javascript/angular 代码。

import { Observable } from 'rxjs/Observable';

export class HomeComponent implements OnInit {

  getTransactionList: Observable<any[]>;

  constructor(public afAuth : AngularFireAuth, 
    public afData: AngularFireDatabase, public router: Router) {

     let transactionTemp = this.afData.list('transaction');
     this.getTransactionList = transactionTemp.valueChanges();
  }

}

标签: javascriptangularfirebase-realtime-database

解决方案


你应该简单地使用查询orderBy

let transactionTemp = this.db.list('/transaction', {
      query: {
        orderBy: 'amount',
        limitToLast: 100
      }
});

推荐阅读