2016-11-23 13 views
0

私は何かを表示するためにこのテンプレートを作っています。Angular2 rxjs data async

compute関数はgetPredictedRate()です。

<div class="ranking-list-container panel panel-default" *ngIf="isTasteGameRanking"> 
    <ul class="ranking-list list-group"> 
     <li class="ranking-element list-group-item row" *ngFor="let gameRate of gameRates | slice:0:10; let i = index;"> 
     <div class="index col-xs-1"> {{ i + 1 }} </div> 
     <div class="game-title col-xs-10"><a (click)="moveToGameDetailPage(gameRate.gr_title)" > {{ gameRate.gr_title }} </a></div> 
     <div class="game-rate col-xs-1" > {{ getPredictedRate(gamRate.gr_title) }} </div> 
     </li> 
    </ul> 
    </div> 

私はテンプレートにこの関数を呼び出した場合はこれがgetPredictedRate()

です。この機能は繰り返し呼び出されました。

私はこのコードで何が間違っていますか?私を助けてください。私は2日寝ることができません。この問題のため...

+0

:一つの解決策は、単純にそれを変更する可能性があります。私が通常気に入っているのは、別の関数で値を計算し、変数に結果を格納し、その変数のゲッターをテンプレートに参照させることです。そうすれば、テンプレートは単純な検索のみを行い、計算は必要なときにのみ実行されます。 – Sjoerd

答えて

0

テンプレートは式を繰り返し再評価します。私は角度が何かが変わったかもしれないと考えている場合は特に、テンプレート機能は確かに非常に頻繁に呼び出されることができると思い

<div class="game-rate col-xs-1" >{{result}}</div> 
+0

私は1つのプライベート変数を作るのですか? –

+0

と私は追加の質問があります。私はthis.userService.getCompareUsersByTargetUserId()とthis.predictedGameRateService.computePredictedGameRate()に到達できません。どうして私に届かないのですか –

+0

はい、コンポーネント変数を作成してください。到達不能な変数はどこに定義されていますか? – Meir

関連する問題