dataListを表示したい。いくつかの値は関数から計算されます。これは、angular2がcalculate関数を何度も呼び出すようです。関数が複数回呼び出される
<tr *ngFor="let data of dataList">
<td>{{ data.no }}</td>
<td>{{ data.name }}</td>
<td>{{ calculateFunction(data.price) }}</td>
</tr>
コンソールは、 "calculate ..."というメッセージを何度も出力します。
calculateFunction() {
console.log('calculate...');
return ...;
}
私はパフォーマンスに関して心配する必要がありますか、それともangular2にこれを行わせてください。
おそらく、モデルの変更を引き起こしているものがあります。これによって、すべての要素の関数が再び実行されます。それが軽量関数であれば大したことではなく、もっと複雑なものであれば、おそらくコンポーネントの内部でそれを処理する方が良いでしょう。 –
@ JohnMontgomeryトリガーモデルを変更するのは1つだけです。 dataListはinitステートでは定義されておらず、要求が終了するとhttpの結果をdataListに代入します。 – user7395677