在Angular 2中的每个ngFor之后计算和存储数据

时间:2017-07-28 18:36:49

标签: arrays angular calculated-columns ngfor

我正在创建一个事务跟踪器作为MEAN项目,并且卡在这里。我需要使用ngFor显示所有事务。我希望显示信用卡和借记金额的差异,并在每笔交易后添加之前的余额。知道怎么做吗?

这是我的ngFor Code。

   <tbody>
    <tr *ngFor="let trans of transactions; index as i;">
      <td>{{ trans.date | date:'dd-MM-yyyy'}}</td>
      <td>{{ trans.billNo }}</td>
      <td>{{ trans.description }}</td>
      <td>{{ trans.creditAmt }}</td>
      <td>{{ trans.debitAmt }}</td>
      <td>{{ trans.debitAmt + trans.creditAmt + (DONT KNOW HOW TO ADD THE PREVIOUS BALANCE)}} </td>
    </tr>
  </tbody> 

The Table I am looking to achieve

现在我可以看到,我的表中没有正确计算余额。 我怎样才能做到这一点?如何在每次ngFor迭代后存储余额并显示它?我的逻辑似乎都没有起作用。

1 个答案:

答案 0 :(得分:1)

<tbody> <tr *ngFor="let trans of transactions; index as i;"> <td>{{ trans.date | date:'dd-MM-yyyy'}}</td> <td>{{ trans.billNo }}</td> <td>{{ trans.description }}</td> <td>{{ trans.creditAmt }}</td> <td>{{ trans.debitAmt }}</td> <td>{{ trans.debitAmt + + (DONT KNOW HOW TO ADD THE PREVIOUS BALANCE)}} </td> </tr> </tbody>

嗯,你有索引。如果i != 0 ..

(trans.creditAmt - trans.debitAmt) + (transactions[i - 1].debitAmt + trasnactions[i - 1].creditAmt)

但是,您应该在组件中执行此操作。因为您需要创建一个变量来跟踪以前的余额,因为它也是一个计算。