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;
    })
});

これがUIです。

<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 に答える