私はFirebaseデータベースのgroups
オブジェクトのusers
プロパティに*ngFor
を実行したいと考えています。FirebaseObjectObservableプロパティを角度で配列として反復処理する方法は?
これまでのところ、私はこれをしようとしている:
<h5>{{ (group$ | async)?.name }}</h5>
<div class="gd-users-container">
<span *ngFor="let user of (group$ | async)?.users">{{ user.email }}</span>
</div>
group$ = getGroup(): FirebaseObjectObservable<any>;
とデータの構造は次のようになります。
"groups": {
"marketing": {
"apps": {
"someid": {
"id": "someid",
"name": "Payroll"
}
},
"id": "marketing",
"name": "Marketing",
"users": {
"23948n": {
"id": "23948n",
"email": "[email protected]"
},
"asdfasdfasdf": {
"id": "asdfasdfasdf",
"email": "[email protected]"
}
}
}
}
私は上記のマークアップをしようとすると、私が手グループの名前は戻っていますが、*ngFor
の場合はエラーが発生します。
ERROR Error: Cannot find a differ supporting object '[object Object]'
of type 'object'. NgFor only supports binding to Iterables such as Arrays.
group
オブジェクトのプロパティusers
は配列ではなくオブジェクトであるため、なぜ私はそのエラーを受け取っているのですか?私の質問は、users
プロパティはが配列として扱われるようにそれを得る方法です。
これはエラーを取り除きますが、そのプロパティを配列に変換してオブジェクトを反復処理することはありません。それをどうすれば実現できますか? –
@JoshuaKemmerer編集:Angularはあなたのデータ構造を編集しません。自分で修正する必要があります。 – msanford
@JoshuaKemmerer私はあなたの答えを受け入れていただきありがとうございますが、あなたの編集の内容について新しい回答を投稿することは自由です。それは完全に受け入れられます。あなたがするまで編集を保留にしておき、それを拒否します(それは新しい回答に属します)。 :) – msanford