计算Angular 2和ionic 2 ngfor中元素的总和 [英] Calculating sum of elements in Angular 2 and ionic 2 ngfor
本文介绍了计算Angular 2和ionic 2 ngfor中元素的总和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用ionic 2开发一个移动应用程序,我当然需要每一个比赛表并计算每年的分配总和.我尝试使用此代码,但是它不起作用.你能帮我吗?
I am developing a mobile application with ionic 2 and I need for each of course the race table and calculates the sum of allocation per year. I tried with this code, but it does not work. Can you help me please?
<ion-row *ngFor="let ch of cheval1 ">
{{ch[0].annee }}
<div *ngFor="let m of members ; let rowIndex = index">
<ion-col *ngIf="ch[0].annee == (m.Course.date |date : 'yyyy' )">
{{ m.Course.allocation}}
</ion-col>
</div>
组件
@Component({
selector: 'page-view-cheval',
templateUrl: 'view-cheval.html',
})
export class ViewChevalPage {
cheval ;
crs = 0 ;
cheval1 ;
members ;
vcheval : string ="Compteurs";
constructor(public navCtrl: NavController, public navParams: NavParams, public data: ServiceProvider ,public menuCtrl: MenuController ) {
this.cheval = navParams.data.member;
this.getIdCheval() ;
}
getIdCheval() {
return this.data.viewCheval(this.cheval.Cheval.id)
.subscribe(
data=> {
this.members = data.course_cheval;
this.cheval1 =data.engagements;
console.log(this.members[1].Entraineur.nom);
console.log(data);
},
err=> console.log(err)
);
}
fiche json:
fiche json:
Course: {
id: "460",
date: "2012-06-24",
nom_du_prix: "GODOLPHIN ARABIAN",
allocation: "20000",
hippodrome_id: "2",
jouree: "36",
categorie_id: "1",
distance: "1600",
},
Course: {
id: "306",
date: "2013-02-17",
nom_du_prix: "HAMADI BEN AMMAR",
allocation: "12000",
hippodrome_id: "2",
jouree: "10",
categorie_id: "2",
distance: "1600",
},
Course: {
id: "328",
date: "2013-03-31",
nom_du_prix: "DE L’ INDÉPENDANCE",
allocation: "25000",
hippodrome_id: "2",
jouree: "19",
categorie_id: "1",
distance: "2000",
},
engagements: [
[
{
annee: "2015"
}
],
[
{
annee: "2014"
}
],
[
{
annee: "2013"
}
],
[
{
annee: "2012"
}
]
]
推荐答案
您可以在组件中完成此操作:
You can do it in component:
allocationSum: number;
// other variables
getIdCheval() {
// ...
this.members = data.course_cheval;
this.allocationSum = this.members.reduce((previous, current) => {
return previous + parseInt(current.Course.allocation);
}, 0);
}
或创建管道:
@Pipe({
name: 'sumByAllocation'
})
export class SumByAllocationPipe implements PipeTransform {
transform(input: any): number {
if (Array.isArray(input)) {
return input.reduce((previous, current) => {
return previous + parseInt(current.Course.allocation);
}, 0);
}
return input;
}
}
在模板中:
<div> Total Allocation: {{members | sumByAllocation}} </div>
这篇关于计算Angular 2和ionic 2 ngfor中元素的总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文