2017-08-09 1 views
0

Je suis en mesure d'obtenir la somme dans le code HTML correctement avec les codes suivants:La somme calculée est correcte au format HTML mais n'est pas enregistrée dans Firebase?

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

J'utilise Firebase pour enregistrer des données avec AngularFire fournisseur de services:

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

Le problème est après avoir sauvé la firebase données montrent tableau:

enter image description here

Je veux la somme des valeurs sélectionnées pour montrer aucune t le tableau ... Est-il possible de faire le calcul en HTML lui-même ou contrôleur pour la valeur sélectionnée ... Voici la formule du contrôleur:

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

suggèrent Veuillez avant ... :) casse quelque chose

Répondre

1

Essayez quelque chose comme ceci:

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

Actuellement, vous enregistrez la matrice.

+0

Ne fonctionne pas ... 'TypeError: this.totalValue n'est pas une fonction' – Disu

+0

@Disu Je vous suggère d'avoir accès à la fonction totalValue si possible ou de créer un similaire pour obtenir le total. Cependant, il vaut mieux éviter de dupliquer le code. –

+1

Oh my my ... Superbement simple et évident seulement après que vous le sachiez ... Merci @camden_kid – Disu