2016-05-12 3 views
1

Wie kann ich eine Liste von Firebase mit einem Parameter im Pfad erhalten? Etwas wie:Get FirebaseListObservable mit Parameter (AngularFire2, Angular 2)

constructor(fire: AngularFire) { 
    fire.database.list('/users/:userid'); 
} 

Mein aktueller Ansatz ist:

constructor(fire: AngularFire) { 
    const userData$ = fire.auth 
     .flatMap((userData) => fire.database.list(`/users/${userData.uid}`)); 

    this.userData = userData$ as FirebaseListObservable<any[]>; 
} 

Aber es gibt noch ein gewöhnlicher Observable zu this.userData zugeordnet. Ich konnte auch keine Möglichkeit finden, Abfragen zu verwenden, um das zu erreichen.

Ich möchte auch this.userData automatisch aktualisiert werden, wenn userData.uid ändert, daher die Verwendung von Observables.

Weiß jemand, wie ich das erreichen kann?

+0

Hallo Andreas, hast du es geschafft, dieses Problem zu lösen? Mein Problem ist, dass wenn ich mich abmelde etwas den Aufruf von '/ users/$ {userData.uid} 'auslöst (aber ich habe die Erlaubnis nicht mehr, also scheitert es). Glaubst du, dass es verwandt ist? Thx – Maslow

+0

Nein, habe ich nicht. Auch verstehe ich immer noch nicht, wie Observables funktionieren. –

Antwort

0

Es gibt ein bekanntes offenes Problem dafür in Github. Die issue scheint mit der Lift-Funktion verwandt zu werden, die intern von fireBaseListObservable verwendet wird. Ich denke, es könnte in der Beta 1 behoben werden, aber sie haben meine Frage nicht beantwortet.