Ich versuche, eine virtuelle Scrollbaum-Direktive in Angular using this guide as a reference zu implementieren. Wenn ich mit dem Scrollen anfange, explodiert die $ Watcher-Zählung jedoch zu 17k-20k + Beobachtern (was die Seite zum Absturz bringt), das Scrollen ist durchgängig langsam und nichts, was ich versucht habe, scheint mir zu helfen.
Plunker mit meinem aktuellen Code: HERE
(Hinweis, oben nicht für mich in Firefox zeigt, aber funktioniert in Chrome). Wenn Sie darüber nachdenken, was ich sonst noch versuchen kann, ist das Scrollen keine Katastrophe, ich bin offen für Ideen. Arbeitet auch auf diese Art und Weise für lange ...
Andere Methoden, die ich versucht habe:
$compile(element.components())(scope.$new())
in OnScroll genannt wurde(). Ergebnis: Die Liste wurde überhaupt nicht mehr angezeigt/lag immer noch schlecht und ich bekam fortwährend "Fehler beim Aufruf der Methode 'insertBefore' von null auf $ compile" -Fehler, bis die Seite abstürzte.
<li ng-repeat="node in nodeList" vs-node="node"></li>
Aka, habe ich versucht, jedes Element einen isolierten Rahmen seiner eigenen, in der Hoffnung zu geben, die in ihrem Umfang und alle damit verbundenen Beobachter damit zerstört werden würde, wenn die Liste aktualisiert wurde. Das Ergebnis war kein Unterschied zu dem obigen Watcher-Problem.
Ein Versuch, alte Listenelemente zu löschen, bevor sie ersetzt werden. Auch hier kein Unterschied. Es wurde innerhalb von updateDisplayList() aufgerufen, bevor die Hauptliste aktualisiert wurde.