【发布时间】:2017-07-21 13:35:12
【问题描述】:
我在 Firebase 中使用 Ionic 2 和 Angularfire 2,这是我的数据结构:
这是我的代码:carrito.ts
import { Component } from '@angular/core';
import { NavController, NavParams } from 'ionic-angular';
import {AngularFire, FirebaseListObservable, FirebaseObjectObservable} from 'angularfire2';
import {ShareService} from '../../pages/services/ShareService';
@Component({
selector: 'page-carrito',
templateUrl: 'carrito.html'
})
export class Carrito {
public restaName:any;
serviceData: string;
items: Array<any>;
restas: FirebaseListObservable<any>;
carrito: FirebaseListObservable<any>;
constructor(public navCtrl: NavController, public navParams: NavParams, af: AngularFire,
private shareService: ShareService) {
this.serviceData = shareService.getUserName();
this.restaName = this.serviceData
//alert(this.restaName)
this.restas = af.database.list('/restas', {
query: {
orderByChild: 'nombre',
equalTo: this.restaName
}
});
this.carrito = af.database.list('/carrito', {
query: {
orderByChild: 'restaname',
equalTo: this.restaName
}
});
}
这是我的部分 carrito.html(模板)
<ion-grid *ngFor="let resta of restas | async">
<ion-row>
<ion-col width-25><img style="margin-top: -10px" src=" {{resta.imagen}}" ></ion-col>
<ion-col width-75>
<h5>{{resta.nombre}}</h5>
<span>Comida {{resta.comida}}</span>
</ion-col>
</ion-row>
</ion-grid>
<ion-list>
<ion-item text-wrap *ngFor="let item of carrito | async ">
<p> {{item.prodname}} </p>
<p item-right> {{item.cantidad}} </p>
<p item-right> ${{item.precio}} </p>
<p item-right (click)="eliminaItem(item.$key)">
<ion-icon name="trash"></ion-icon>
</p>
</ion-item>
</ion-list>
***///// HERE I WANT TO DISPLAY TOTAL (sum of item.precio) ////***
<ion-footer *ngIf="total">
<ion-toolbar>
<ion-title>Total : $ {{total}} </ion-title>
</ion-toolbar>
</ion-footer>
<ion-toolbar>
<button full primary clear (click)="sumAriza()">CHECK-OUT</button>
</ion-toolbar>
</ion-content>
我一直在阅读 Angular fire 2 文档、Ionic 2 示例,并且我有一个愚蠢的问题:如何从每个对象(行)中汇总 item.precio 字段以获得此列表中的 TOTAL(总和)? 提前谢谢!
【问题讨论】:
标签: angular typescript firebase firebase-realtime-database angularfire2