Ich habe Probleme mit der Winkelansicht, wenn ich die Ansicht zum zweiten Mal betrete.AngularJS: zu große Anzahl von Zuhörern in Sicht und lange Ladezeit der Ansicht
Eingang:
- Ansicht Lasten Liste von 1500 Artikeln
- Alle 1500 Artikel in der Tabelle angezeigt mit
ng-repeat
und Filter - Nr
$watch
in der Ansicht verwendet
Problem Beschreibung:
- Wenn Sie das erste Mal beitreten die Ansicht lädt es gut und funktioniert gut keine Leistungsprobleme.
- Wenn die Ansicht nach Schritt 1 verlassen wird, dauert es 5sek-10sek
- Wenn Sie die Ansicht nach dem zweiten Schritt zweiten Mal verbinden, dauert es 30 Sekunden und 99% dieser Zeit für Skripting ausgeben. Nach dem Profiling dieses Schrittes werden> 20000 Listener angezeigt.
Fragen:
- Irgendwelche Vorschläge, was auf Schritt Ursache von Performance-Problem sein kann (3)?
- Interessant zu wissen, wie viele Daten gut mit
ng-repeat
angezeigt werden?
Verwenden Sie 'track by $ index', wenn Sie' ng-repeat' verwenden. Es wird die Leistung verbessern. Verwenden Sie 'track by $ index'? https://docs.angularjs.org/api/ng/directive/ngRepeat – Chinni
Wenn Sie nicht auf die 'ng-repeat'-Ausgabe achten müssen, können Sie eine einmalige Bindung verwenden, um all diese Watcher-https zu vermeiden: //docs.angularjs.org/guide/expression#one-time-binding –