我希望能夠在我的Firebase數據庫中對groups
對象的users
屬性運行*ngFor
。如何通過Angular中的數組迭代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