2016-11-23 2 views
0

Я делаю этот шаблон для отображения вычисленным.Angular2 rxjs data async

вычислительная функция 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()

Если я вызвать эту функцию на шаблоне. эта функция вызывалась снова и снова.

Что я пропустил в этом коде? Пожалуйста помогите. Я не могу спать два дня. Из-за этой проблемы ...

+0

Я думаю, что функцию шаблона действительно можно назвать очень часто, особенно если Angular верят, что что-то могло измениться. Обычно мне нравится вычислять значение в отдельной функции, сохранять результат в переменной, а затем ссылаться на шаблон получателя этой переменной. Таким образом, ваш шаблон будет выполнять простой поиск, а ваши вычисления будут выполняться только при необходимости. – Sjoerd

ответ

0

Шаблон переопределяет выражение повторно. Одним из решений может быть просто изменить его на:

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

вы maen я делаю одну приватную переменную? –

+0

и у меня есть дополнительный вопрос. Я не могу достичь this.userService.getCompareUsersByTargetUserId() и this.predictedGameRateService.computePredictedGameRate(). почему я не могу связаться с ними –

+0

Да, введите переменную компонента. Где определены недостижимые переменные? – Meir

Смежные вопросы