2017-05-26 6 views
0

Ich habe Probleme beim Rendern des Werts eines Objekts, das von Firebase abgerufen wird. Die enge Ich habe diese Arbeit zu machen es wie folgt:Angular2 render mehrstufiges Firebase-Objekt

Gerade als Referenz von hier aus die Daten kommen, es tut gut:

die Daten Strukturen wie so:

userProfile:FirebaseObjectObservable<any>; 

db.object('/users/'+auth.uid,{ preserveSnapshot: true }) 
    .subscribe(snapshot => { 
     this.userProfile = snapshot; 
}); 

In meinem HTML ich kann das Objekt mit dem folgenden rendern:

{{ userService.userProfile | json }} 

OUTPUT rendered is: { "email": "[email protected]", "provider": "password" } // THIS is GREAT!!!! now I just need to extract the email... and will need more values later 

Jetzt muss ich nur die E-Mail-Wert machen ... aber nichts, was ich tun Werke, Dinge, die ich versucht habe, die kein Ergebnis machen

{{ userService.userProfile.email }} //nothing  
{{ userService.userProfile.email | json }} //nothing 
{{ userService.userProfile.email | json | async }} //nothing 
{{ userService.userProfile.email | async }} //nothing 
{{ (userService.userProfile.email) | async }} //nothing 
{{ (userService.userProfile.email) | json }} //nothing 
{{ (userService.userProfile?.email) | json }} //nothing 
{{ (userService.userProfile?.email) | async }} //nothing 
{{ (userService.userProfile)?.email | async }} //nothing 
{{ (userService.userProfile)?.email | json }} //nothing 
{{ (userService.userProfile)?.email }} //nothing 
{{ (userService)?.userProfile.email }} //nothing 
{{ userService?.userProfile?.email }} //nothing 
{{ userService?.userProfile?.email | async }} //nothing 
{{ userService?.userProfile?.email | json }} //nothing 

Ich bin sicher, ich mache etwas falsch, aber kann nicht herausfinden, warum es auf hohem Niveau funktioniert, aber keine bestimmte Eigenschaft ausgeben.

+0

Was ist der 'userService'? – Pengyy

+0

userService war die übergeordnete Komponente, aus der es injiziert wurde. – user1019416

Antwort

0

Ich hatte ein ähnliches Problem vor ein paar Tagen. Bitte versuchen:

snapshot.val() 
Verwandte Themen