2017-07-28 25 views
0

MEANプロジェクトとしてトランザクショントラッカーを作成しています。 ngForを使用してすべてのトランザクションを表示する必要があります。前回の残高と各取引後に追加されたクレジットとデビットの差額を表示したいと思います。どのようにそれを行うにはどのようなアイデア?Angular 2の各ngFor後のデータの計算と格納

これは自分のコードです。私のテーブルで

<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

今あなたが見ることができ、バランスが適切に計算されていません。 どうすればいいですか?どのように反復ごとにバランスを保存して表示するのですか?私の論理のどれも働いていないようです。

+0

TypescriptファイルにbalanceAmountという名前の変数を作成し、ngFor balance列内のメソッドを呼び出して、クレジットとデビットの金額を加えて、balanceAmountを結果に割り当て、balanceAmountを返しました。その後、balanceAmountを上書きするとエラーが発生し、リフレッシュされ、無限ループに入ります。エラー:ExpressionChangedAfterItHasBeenCheckedError –

+2

私はクラスの配列のすべてを計算してから、テーブルにデータを取り込みます。 .. – Vega

+1

私はあなたに答えを与えましたが、私は@Vegaに同意します – wesside

答えて

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>

さて、あなたは、インデックスを持っています。

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

.. i != 0場合は、しかし、コンポーネントでこれを行う必要があります。以前の残高を把握するための変数を作成する必要があるため、計算も同様です。

+1

うわー!私は、このインデックスiでの補間の中でこれほど多くの計算を行うことができないことを知りませんでした。ありがとうございました。私は今、ベガのようなものを試しています。あなたの助けに感謝します。 –

関連する問題