1

问题是chat.name 一开始显示空白,因为映射尚未完成。有什么方法可以在更新数据之前等待映射?

this.chats = this.af.database.list('/chats/' + this.mainService.getUserId(), {
  query: {
    orderByChild: 'timestamp'
  }
}).map((chats) => {
    return chats.map( chat => {
        chat.name = this.af.database.object(`/users/${chat.uid}`);
        return chat;
    })
});

这是用户界面。

<ul>
    <li *ngFor="let chat of chats | async">
       {{ (chat.name | async)?.name }} : {{  chat.lastMessage }}
    </li>
</ul>
4

1 回答 1

1

看到这个答案 -使用 AngularFire2 的 Angular2 中的嵌套可观察对象不在视图中呈现

但我怀疑您需要将 elvis 运算符添加到 HTML 页面

{{ chat?.name }}

于 2016-08-03T15:26:17.193 回答