2016-07-20 5 views
1

Ich versuche, die große Menge von Datensätzen mit ng-repeat anzuzeigen, aber der Browser stürzt ab.Wie könnte ich große Datenmenge anzeigen, ohne infinite scroll zu verwenden.Browser stürzt ab, während 6000 Datensätze in angularjs angezeigt werden

+0

versuchen, das Ergebnis paginieren – chf

+2

gibt es keinen Grund zu zeigen, 6000 Datensätze zu einer Zeit, als Benutzer wird nicht anzeigen 6000-Datensatz zur Zeit, würde ich sagen, dass entweder Paginierung oder verwenden Sie "unendlich scroll" .. –

+0

Stimmen Sie den Kommentaren zu, dass die Anzeige von 6000 Objekten auf einmal für niemanden eine gute Benutzererfahrung sein wird. Sie sollten also stark darüber nachdenken, die Ergebnisse zu paginieren. –

Antwort

0

6000 Datensätze ist ein Problem, das für Paging in irgendeiner Form bittet. Das Laden von 6000 Datensätzen in einem Arbeitsgang ist keine gute Lösung und vor allem, wenn man bedenkt, dass Sie Angular verwenden. Sie sollten ein Angular-Konstrukt verwenden, z. B. eine Datentabelle, die Paging unterstützt.

http://ng-table.com/#/

1

Wie die anderen vorschlagen, 6000 Zeilen ausgelagert werden will, aber technisch Winkel kann damit umgehen. Ich habe eine codepen mit eckigen erzeugenden 10k Zeilen erstellt, die ng-repeat verwenden, um eine Tabelle anzuzeigen, um es technisch möglich zu zeigen. Ich schlage vor, Sie verwenden track-by in Ihrem ng-repeat sowie ng-cloak, um die Wiedergabe von so vielen Daten zu optimieren.

<tbody ng-cloak> 
    <tr ng-repeat="item in items track by item.key"> 

Der Grund Browser ist wahrscheinlich die Daten aufgrund der Art und Weise abstürzt werden (möglicherweise jede Zeile Zugabe zu einer Zeit, zu dem COPE und verursachen viele machen Zyklen) erzeugt werden, oder aufgrund der Komplexität der einzelnen Reihen Anzeige. So können Sie mit Optimierungen so viele Daten anzeigen, ohne dass der Browser abstürzt, aber es ist immer noch keine gute Idee (oder eine gute Benutzererfahrung).

Verwandte Themen