1
に$値を使用する必要がない私は私のFirebase DB内の次のノードを持っている:はなぜFirebaseObjectObservable
users
-$user
--public
---avatarUrl: 'https://myurl'
私はこのように、このURLを取得:
lastMessage$: Observable<any>;
recipientAvatarUrl$: FirebaseObjectObservable<any>;
constructor(
public navCtrl: NavController,
public messageService: MessageService,
public authService: AuthService,
public userService: UserService
) {
console.log('ChatPreviewComponent#constructor');
}
ngOnInit(): void {
this.recipientAvatarUrl$ = this.userService.getUserAvatarUrl(this.chat.recipient, this.authService.getCurrenUserCompany());
}
機能 "getUserAvatarUrl" であります
getUserAvatarUrl(uid: string, company: string): any {
console.log('UserService#getUserAvatarUrl - Get user avatar url for ', uid);
let path = `/${company}/users/${uid}/public/avatarUrl`;
return this.af.database.object(path);
}
そして最後に、ここで私は、画像をレンダリングする私の見解は次のとおりです:私のサービスには以下のよう
<ion-item (click)="openChat(shortChat.id)">
<ion-avatar item-left>
<img [src]="(recipientAvatarUrl$ | async)?.$value" />
</ion-avatar>
</ion-item>
なぜノードの値を取得するために$ valueを使用する必要があるのか分かりません。しかし、非同期パイプは、AngularFire2のドキュメントに従ってFirebaseObjectObservableをアンラップします。
ヒント?
これは解決された問題の1つです。 ;)ありがとうYevgen! –