0

特定のレコードを取得するために、Typescript で Angularfire2 から DB リストをフィルタリングしようとしています。

AddAppointment(date:Date){
let existingAppointment = this.af.database.list(this.appointmentDbRoute).map(values => {
  let filtered = values.filter(filter => filter.Date === date);
  return filtered;
})};

問題は次のとおりです。 map メソッドが実行されません。最後にサブスクライブ機能を追加した場合にのみ、実行されずにやりたいことができます。すべてのチュートリアルで、Map メソッドのみが呼び出されます。

バージョン angularfire2@^2.0.0-beta.2 を使用しています

私は何を間違っていますか?

4

1 に答える 1

0

代わりにこのようなものが欲しいと思います

this.items = af.database.list('this.appointmentDbRoute', { preserveSnapshot: true });
this.items
  .subscribe(snapshots => {
    snapshots.forEach(snapshot => {
      // DO SOME FILTERING HERE...
    });
  })

ここのドキュメントから: https://github.com/angular/angularfire2/blob/master/docs/3-retriving-data-as-lists.md

FirebaseObservable呼び出し以降にマップを呼び出そうとしています

this.af.database.list(this.appointmentDbRoute)

結果を取得してからフィルタリングを実行するためにFirebaseObservable必要な を返しますsubscribe

于 2016-08-21T23:15:37.120 に答える