AngularFire2遍历对象数组
我有以下Firebase数据库结构:AngularFire2遍历对象数组,angular,firebase,angularfire,angularfire2,Angular,Firebase,Angularfire,Angularfire2,我有以下Firebase数据库结构: orders { $uid { // user UID order { // ... } } } 我试图通过这种方式获得所有订单: public getOrders() { this.db.list('/orders).subscribe(items => { items.forEach(item => { console.log(item); }) }) } 我的问题是,
orders {
$uid { // user UID
order {
// ...
}
}
}
我试图通过这种方式获得所有订单:
public getOrders() {
this.db.list('/orders).subscribe(items => {
items.forEach(item => {
console.log(item);
})
})
}
我的问题是,我怎样才能得到所有的订单?
因为现在,我无法遍历项您可以将Firebase数据库中的结果(项
)保存在变量中,然后在角度模板(HTML)中使用该变量
Firebase数据库:
/命令/
组件的逻辑
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>
组件的模板
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>
{{order[i].name}
{{顺序[i].值}
您可以将Firebase数据库中的结果(项
)保存在变量中,然后在角度模板(HTML)中使用该变量
Firebase数据库:
/命令/
组件的逻辑
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>
组件的模板
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>
{{order[i].name}
{{顺序[i].值}
好的,最后我可以用以下方法解决它:
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
我们可以访问每个用户的顺序。好的,所以最后我可以用以下方式解决它:
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
我们可以访问每个用户的顺序。例如,如果我尝试执行项[0]。length
输出当然是未定义的
,因为只有项
是数组
,但它的子对象是没有.length
属性的对象。您有权,我尝试将每个对象转换为数组,但未成功:(例如,如果我尝试执行项[0].length
输出是未定义的
当然,因为只有项
是数组
,但它的子对象是对象,它们没有.length
属性。您有权,我已尝试将每个对象转换为数组,但未成功:(谢谢@Marian07,这很有用,但在这种情况下,我的目的是计算订单和访问每个订单的属性。那么,你知道我如何访问每个订单吗?请参阅AngularFire2列表
:谢谢@Marian07,这很有用,但在这种情况下,我的目的是计算订单和访问每个订单的属性。那么,你知道吗知道如何访问每个订单吗?请参阅AngularFire2列表
: