我正在尝试将guestList的“guestName”和“profilePicture”检索到一个数组(this.guestList)。 我正在使用此代码获取快照:
this.itemProvider.getguestList(this.navParams.get('itemId'))
.on('value', guestSnapshot => {
guestSnapshot.forEach(snap => {
this.guestList.push({
id: snap.key,
guest: snap.val()
});
return false;
});
我得到这样的数组:
console.log:
eventList length 3 [
{
"id": "-L1zPnV8eFpyTZlRZSkS",
"guestList": {
"profilePicture": "https://firebasestorage.googleapis.com/v0/b/items-222f4.appspot.com/o/itemPictures%2F-L1zPnV8eFpyTZlRZSkS%2FItemPicture.png?alt=media&token=974cf1c7-974b-4f10-89bd-9033ef25d476",
"guestName": "Test"
}
},
{
"id": "-L1zQ41CVIwKTbAA_yiQ",
"guestList": {
"profilePicture": "https://firebasestorage.googleapis.com/v0/b/items-222f4.appspot.com/o/itemPictures%2F-L1zQ41CVIwKTbAA_yiQ%2FItemPicture.png?alt=media&token=bd32f971-7b81-4891-8f1f-9fd47185d105",
"guestName": "Test"
}
},
{
"id": "-L1zQKQBrnpgVdwqIdsU",
"guestList": {
"profilePicture": "https://firebasestorage.googleapis.com/v0/b/items-222f4.appspot.com/o/itemPictures%2F-L1zQKQBrnpgVdwqIdsU%2FItemPicture.png?alt=media&token=ab7d193c-8938-4820-aa8d-d091c9d89211",
"guestName": "Test"
}
}
]
我需要将“profilePicture”和guestName作为数组的成员。 我需要改变什么?
答案 0 :(得分:1)
您可以对快照进行子地址处理,也可以对该值进行子地址处理。
快照中的子地址使用child()
:
guestSnapshot.forEach(snap => {
this.guestList.push({
id: snap.key,
guest: snap.child('"guestlist").val()
});
值中的子地址使用:
完成 guestSnapshot.forEach(snap => {
this.guestList.push({
id: snap.key,
guest: snap.val().guestlist
});