2017-08-09 1 views
0

Ich bin in der Lage, die Summe in der HTML korrekt mit folgenden Codes zu erhalten:Berechnete Summe in HTML korrekt, aber nicht in Firebase gespeichert?

<ion-item type="text" formControlName="billValue" 
[(ngModel)]="retailerItemModel" name="billValue" ngDefaultControl >Total 
Bill Value Rs. {{ totalValue(retailerItemModel) || 0 | number: '1.2-2' }} 
</ion-item> 

I Firebase bin mit speichern Daten mit AngularFire Dienstleister: der Feuerbasis

saveBill(billValue: any =[],): firebase.Promise<any>{ 
    return this.afDatabase.list(`userProfile/${this.userId}/billList/`).push({ 
    billValue   
    }) 
} 

Das Problem ist nach dem Speichern Daten zeigt Array:

enter image description here

ich die Summe der ausgewählten Werte wollen zeigen keine t das Array ... Gibt es eine Möglichkeit, die Berechnung in HTML selbst oder Controller für ausgewählten Wert zu tun ... Es folgt die Steuerung Formel:

totalValue(retailerItemModel: any=[]){ 
    let total = 0; 
    retailerItemModel.forEach((item) => { 
    total += Number(item); 
    }) 
    return total; 
} 

Bitte legen nahe, bevor ich etwas brechen ... :)

Antwort

1

Try etwas wie das:

saveBill(billValue: any =[],): firebase.Promise<any>{ 
    return this.afDatabase.list(`userProfile/${this.userId}/billList/`).push({ 
    billValue: totalValue(billValue)  
    }) 
} 

Derzeit speichern Sie das Array.

+0

Funktioniert nicht ... 'TypeError: this.totalValue ist keine Funktion' – Disu

+0

@Disu Ich schlage vor, dass Sie Zugriff auf die totalValue-Funktion erhalten, wenn möglich, oder erstellen Sie eine ähnliche, um die Summe zu erhalten. Es ist jedoch empfehlenswert, den Code nicht zu duplizieren. –

+1

Oh mein mein ... Super einfach und offensichtlich, nur nachdem Sie es wissen ... Danke @camden_kid – Disu

Verwandte Themen