2016-07-28 1 views
-1

Ich habe eine interne Team-Website mit python django und angularJS erstellen. Die Website funktioniert einwandfrei, wenn nur wenig Daten/Inhalte darauf vorhanden sind. Wenn die Website gescrollt wird und mehr Daten geladen werden. Es wird langsam. Das Hauptproblem tritt auf, wenn wir versuchen, modal zu öffnen oder zu versuchen, Text in textarea zu schreiben. Der Text bleibt beim Schreiben und modal sehr langsam geöffnet.Website wird langsam, wenn große Datenmengen geladen werden

Ich habe verschachtelt verwendet ng-repeat gibt es 5 verschachtelte ng-repeat.

<div ng-repeat="x in xyz"> 
 
    <div ng-repeat="y in xyz"> 
 
    </div> 
 
    <div ng-repeat="img in xyz"> 
 
    </div> 
 
    <div ng-repeat="y in xyz"> 
 
    <div ng-repeat="z in xyz"> 
 
    </div> 
 
    </div> 
 
</div>

Oben ist das Beispiel der Struktur in der Website verwendet wird. Das obige Snippet wiederholt sich ungefähr 100 mal durch die ganze Seite. Diese haben Bilder, Formulare, Text, Eingabe, Benutzerkennzeichnung wie Facebook. ngCacheBuster, ui.bootstrap, ngTagsInput, ui.ention, monospaced.elastic Dies sind die externen Bibliotheken, die in der Website verwendet werden. Die Website wird mit Bootstrap erstellt. Gibt es einen bestimmten Grund, warum die Website schwer wird. jede Größe des Bildes ist durchschnittlich etwa 100kb.

+0

Diese Frage ist zu weit gefasst nutzen kann. Aus Ihrer Beschreibung ergeben sich mehrere mögliche Auswirkungen auf die Leistung. Dies reicht von fehlenden DB-Indizes zu AngularJS-Problemen bis zu vielen großen Bildern. Außerdem haben Sie nicht erwähnt, ob Sie es in der Entwicklung oder im Produktionsmodus langsam finden. Beachten Sie, dass im Entwicklungsmodus collectstatic nicht ausgeführt wurde und CSS/JS-Ressourcen nicht minimiert wurden und Caches nicht wirksam sind. https://developers.google.com/speed/pagespeed/insights/ kann bei Produktionsproblemen helfen. – Risadinha

Antwort

0

wirklich? Die Seite wird langsam geladen, wenn viele Daten vorhanden sind. : D

sowieso die einfachste Methode schwere Daten-Anwendungen zu beschleunigen-up ist bedingt Last und Teile davon zu machen, zum Beispiel:

<div ng-repeat="x in bla" ng-click="showL1 = true"> 
    <div ng-repeat="y in boo" ng-if="showL1 === true"> 
     //more... 
    </div> 
</div> 

auf dem anderen Teil Ihre Architektur ist doppelt überprüfen, da es ist eine sehr begrenzte Menge an Daten, die eine Person von einer Seite nehmen kann und daher über Tabs und Paging

denken
+0

nein die Seite lädt nicht langsam. sobald die Seite vollständig geladen ist. Dann ist es sehr mühsam, etwas auf der Seite zu tun. Wie tippst du Text oder öffnest du irgendein Modal? – Gagan

+0

bist du sicher, dass die Seite wirklich fertig ist? klingt wie ein paar zusätzliche Hintergrund Dinge, die dorthin gehen. Testen Sie sich selbst mit dev toos -> Profiler – bresleveloper

+0

yeah läuft nichts im Hintergrund. Gibt es einen Effekt des Beobachters auf der Seite? – Gagan

0

Vielleicht brauchen Sie eine Funktion in Ihrem Controller, die einen Teil aller Daten für den Benutzer laden wird. Zum Beispiel:

app.constant('range' , 10); 

app.controller('example', ['$scope', function($scope) { 
    $scope.loadRangeData = function(range) { 
    //your way of loading data with using range 
    } 
} 

]); 

und nach u ng-Wiederholung als

<div ng-repeat="x in loadRangeData"> 

aber bester Weg, es zu finden Antwort in Ihrem django vielleicht