У меня есть следующий код (события являются массив):нг-повтор функции контроллера вызовов слишком много раз
<tr ng-repeat="event in events">
<td>
<span time-ago="{{event.TimestampSec}}"></span>
</td>
<td>
{{prepareAlertValue(event.AlertValue)}}
</td>
</tr>
времени назад - мой заказ директива. Выполняется events.length раз.
Мой контроллер:
...
window.callPrepareAlertValueCount = 0
$scope.prepareAlertValue = function(value) {
window.callPrepareAlertValueCount++;
if(safemineHelper.isFloat(value)) {
value = (~~(value * 100))/100;
}
return value;
}
...
После список показал - я вижу, что callPrepareAlertValueCount растет. Журнал консоли:
> callPrepareAlertValueCount
< 41890
> callPrepareAlertValueCount
< 46150
> callPrepareAlertValueCount
< 480315
Пожалуйста, может кто-нибудь объяснить, почему prepareAlertValue выполняется все время. Нужно ли писать директивы для каждой функции форматирования?
Возможно, я неправильно читаю, но вы говорите, что проблема в том, что он выполнен events.length раз? это не ожидаемое поведение в цикле? – aw04
Выполняется несколько раз, потому что он находится внутри тега tr, который имеет ng-repeat, если вы поместите его вне tr, он будет вызываться только один раз. –
Проблема в том, что функция callPrepareAlertValueCount выполняется все время. Около 3000 раз в секунду – Gleb