AngularFire2 遍历对象数组
AngularFire2 iterate through array of objects
我有以下 Firebase 数据库结构:
orders {
$uid { // user UID
order {
// ...
}
}
}
我正在尝试通过这种方式获取所有订单:
public getOrders() {
this.db.list('/orders).subscribe(items => {
items.forEach(item => {
console.log(item);
})
})
}
我的问题是,如何获得所有订单?
因为现在,我无法遍历 item
.
您可以将 Firebase Database
的结果 (items
) 保存在 variable
中,之后,使用 Angular 模板中的变量 (HTML).
Firebase 数据库:
/订单/
[{
"userId1": {
"name": "Michael",
"value": "55$"
}
},
{
"userId1": {
"name": "Michael",
"value": "55$"
}
}
]
组件的逻辑
databaseOrders;
public getOrders() {
this.db.list('/orders).subscribe(items => {
this.databaseOrders = items;
})
}
组件的模板
<div *ngIf="databaseOrders" class="orders">
<article *ngFor="let order of databaseOrders; let i = index">
<span class="ordered-by">{{order[i].name}}<span>
<b class="order-value">{{order[i].value}}</b>
</article>
</div>
好的,最后我可以通过以下方式解决它:
public getOrders() {
this.db.list('/orders).subscribe(items => {
items.forEach(item => {
Object.keys(item).map(key=>item[key]).map(order => {
console.log(order);
})
})
})
}
因此,首先我们获取所有订单,然后使用 forEach
遍历带有订单的每个对象。然后,使用 Object.keys
我们可以访问每个用户的订单。
我有以下 Firebase 数据库结构:
orders {
$uid { // user UID
order {
// ...
}
}
}
我正在尝试通过这种方式获取所有订单:
public getOrders() {
this.db.list('/orders).subscribe(items => {
items.forEach(item => {
console.log(item);
})
})
}
我的问题是,如何获得所有订单?
因为现在,我无法遍历 item
.
您可以将 Firebase Database
的结果 (items
) 保存在 variable
中,之后,使用 Angular 模板中的变量 (HTML).
Firebase 数据库: /订单/
[{
"userId1": {
"name": "Michael",
"value": "55$"
}
},
{
"userId1": {
"name": "Michael",
"value": "55$"
}
}
]
组件的逻辑
databaseOrders;
public getOrders() {
this.db.list('/orders).subscribe(items => {
this.databaseOrders = items;
})
}
组件的模板
<div *ngIf="databaseOrders" class="orders">
<article *ngFor="let order of databaseOrders; let i = index">
<span class="ordered-by">{{order[i].name}}<span>
<b class="order-value">{{order[i].value}}</b>
</article>
</div>
好的,最后我可以通过以下方式解决它:
public getOrders() {
this.db.list('/orders).subscribe(items => {
items.forEach(item => {
Object.keys(item).map(key=>item[key]).map(order => {
console.log(order);
})
})
})
}
因此,首先我们获取所有订单,然后使用 forEach
遍历带有订单的每个对象。然后,使用 Object.keys
我们可以访问每个用户的订单。