В попытке обнаружить некоторые проблемы с производительностью, с которыми мы сталкиваемся с Aurelia в IE 11, я попытался просто зарегистрировать таймер, чтобы отслеживать достигнутый прогресс. При этом я заметил странное поведение во время итерации repeat.for
.Aurelia repeat.for call function несколько раз
<div repeat.for="i of 100">
<div if.bind="lastElement(item, $last)">${$index}</div>
</div>
с функцией и объема
var count = 0;
lastElement(item, last){
count++;
if(last === true){
console.log('Last Item: ' + JSON.stringify(item));
console.log(count);
};
return true;
};
... и со следующим результатом:
Last Item: 99
100
Last Item: 99
169
Для меня результат должен был быть:
Last Item: 99
100
По какой-то причине существует несколько итерати или проверки этой функции. Может ли кто-нибудь объяснить мне, что здесь происходит?
ОБНОВЛЕНИЕ: Я смог найти внешний файл jdanyho и создать Gist для демонстрации. Тем не менее, теперь я получаю 150 вместо 169. Хмммм ...
Ooh, вы правы. Есть 50 дополнительных вызовов, я удаляю свой ответ. – slackmart
Я пробовал один и тот же пример в локальном ('" GET /jspm_packages/npm/[email protected] HTTP/1.1 "200') и работает так, как ожидалось. Это может помочь: https://github.com/gist-run/gist-run/issues/22 – slackmart
Мы также работаем локально с 1.0.8, и я обновляю Gist до исходных файлов jdanyho и тех же результатов. – dbarth