In einem Versuch, einige Leistungsprobleme zu entdecken, die wir mit Aurelia auf IE 11 laufen, habe ich versucht, nur einen Timer zu protokollieren, um den Fortschritt zu verfolgen. Dabei habe ich während einer repeat.for
Iteration merkwürdiges Verhalten bemerkt.Aurelia repeat.for Anruf Funktion mehrmals
<div repeat.for="i of 100">
<div if.bind="lastElement(item, $last)">${$index}</div>
</div>
mit der Funktion und Umfang
var count = 0;
lastElement(item, last){
count++;
if(last === true){
console.log('Last Item: ' + JSON.stringify(item));
console.log(count);
};
return true;
};
... und mit folgendem Ergebnis:
Last Item: 99
100
Last Item: 99
169
Für mich ist das Ergebnis sein sollte:
Last Item: 99
100
Aus irgendeinem Grund gibt es mehrere Iterati ons oder Überprüfung dieser Funktion. Kann mir jemand erklären, was hier vor sich geht?
UPDATE: Ich konnte eine externe Datei von jdanyho finden und erstellen Sie eine Gist zu demonstrieren. Aber jetzt bekomme ich 150 statt 169. Hmmmm ...
Ooh, du hast Recht. Es gibt 50 zusätzliche Anrufe, ich lösche meine Antwort. – slackmart
Ich habe das gleiche Beispiel in local versucht ('" GET /jspm_packages/npm/[email protected] HTTP/1.1 "200') und funktioniert wie erwartet. Dies könnte helfen: https://github.com/gist-run/gist-run/issues/22 – slackmart
Wir laufen lokal mit 1.0.8 und ich aktualisierte den Gist zu jdanyhos Quelldateien und gleichen Ergebnissen. – dbarth