0
パイプがファーストネームを返していません。 名前をハードコードするときに戻ってきます。 なぜですか? HTMLでFirebaseからデータを取得するパイプ
:
{{photo.uid | userName}}
パイプ:
import { Pipe, PipeTransform } from '@angular/core';
import { UserData } from './../providers/user-data';
@Pipe({name: 'userName'})
export class UserNamePipe implements PipeTransform {
name: string;
constructor(private userData:UserData){}
transform(value:any, args:string[]) {
this.userData.getSpeseficUserData(value).subscribe((data:any) => {
this.name = data.firstName;
return this.name;
});
}
}
getSpeseficUserData():
getSpeseficUserData(uid:any){
return Observable.create((observer: any) => {
firebase.database().ref('users/' + uid).once('value').then((snapshot) => {
observer.next(snapshot.val());
})
});
}
私はplunkerの例を追加しました –