AngularFire2をAngular Webアプリケーション内で使用しています。 Firebaseのクエリの制限により、必要なデータを正確に提供するクエリを作成することはできません(少なくとも、自分のスキーマを大幅に変更する必要はありません)。クライアント側でFirebaseListObservableをフィルタリングする方法は?
したがって、JavaScript(typescript)内にクライアント側のフィルタ条件を追加したいと考えています。これはどうすればいいですか?私は何らかの形でオブザーバブルにフィルタ関数を追加できますか?以下は、私が何をしているかを示す断片です。
コンポーネントのHTMLテンプレートには、以下のようなものがあります。 htmlフラグメントの "jobs"変数は、FirebaseListObservableです。
<tr *ngFor="let job of jobs | async">
.. fill in the table rows
コンポーネントのコードは次のようになります。私は、ローカル(クライアント側)を適用することができるように、「this.jobs」フィルタのフィルタ部品を適用する方法は
// in the member declaration of the class
jobs : FirebaseListObservable<Job[]>;
...
// Notice in ngOnInit(), I'm filtering the jobs list using the the
// Firebase criteria. But I want to filter on an additional field.
// Firebase allows only single field criteria, so I'm looking for
// a way to apply an additional client-side filter to jobs to eliminate
// some additional records.
ngOnInit(){
this.jobs = this.af.database.list("/jobs/", {query: {orderByChild : "companyKey", equalTo:someKey}})
}
ありますか?
はい、あなたは正しいです。私は私の例を修正しました。優れた答えをありがとう。 –