我在渲染映射到observable的数据时遇到问题。
这是我的代码的外观:
// ChatService.ts
getChats() {
return this.authService.getUid().then(uid => {
let chats = this.af.database.list(`/users/${uid}/chats`);
return chats;
});
}
// Chatcomponent.ts
chats: FirebaseListObservable<any[]>;
this.chatService.getChats()
.then(chats => {
this.chats = chats.map(users => {
return users.map(user => {
user.info = this.af.database.object(`/users/${user.$key}`)
return user;
});
});
})
&#13;
//The HTML File
// chat.html
<ion-item-sliding *ngFor="let chat of chats | async" (click)="openChat(chat.$key)">
<p>{{chat.$key}}</p>
<span>{{(chat.info| async).displayName}}</span>
</ion-item-sliding>
&#13;
现在,在呈现页面时,它会正确显示聊天。$ key,但chat.info.displayName不会呈现。
我在这里做错了什么?
答案 0 :(得分:0)
问题出在html模板中。
我将{{(chat.info | async).displayName}}更改为{{(chat?.info | async)?. displayName}}