angularjs / rendering Leistungsunterschied zwischen Inlining oder Verwendung von ng-include

8

Ich kann ng-include verwenden, um eine Teilansicht in eine eckige Ansicht aufzunehmen, oder ich kann Teilerseiten auf dem Server verwenden, um dies auf dem Server zu tun. Ich denke darüber nach, serverseitige Teiltöne anstelle von eckigen Teiltönen und dann ng-include (mit dem Skript-Tag) zu verwenden, weil ich irgendwo gelesen habe, dass eckige Teilbereiche neue Bereiche erzeugen und dies die Leistung von $ digest beeinträchtigen könnte.

Gibt es eine Gültigkeit dafür? Wie wirkt sich dies auf die Leistung aus, wenn eckige Includes verwendet werden?

    
Harry 18.05.2013, 07:55
quelle

1 Antwort

9

ng-include erstellt einen neuen Bereich und registriert eine Überwachung (für einen Pfadausdruck, der von ng-include verwendet wird) für einen Bereich, in dem ng-include verwendet wird. Während dies eine zusätzliche Verarbeitung erfordert, basiert es immer noch auf JavaScript-Objekten und ist daher sehr schnell. Die Wirkung einer neuen Uhr und eines zusätzlichen Oszilloskops sollte in den meisten Fällen völlig vernachlässigbar sein.

Der einzige wirkliche Unterschied, den ich sehen kann, ist, dass ng-include Ihren Teil asynchron enthält / rendert, so dass Sie vielleicht etwas Verzögerung sehen, besonders wenn Sie Partials über das Netzwerk holen (dies kann jedoch durch das Vorladen von Partials gemildert werden) wie hier beschrieben: Ссылка )

Kurz gesagt: In den meisten Fällen sollte der Effekt von ng-include vernachlässigbar sein, wenn Partials vorgeladen sind .

Ein letzter Kommentar: " vorzeitige Optimierung ist die Wurzel allen Übels ". Starten Sie die Anpassung der Mikrodaten nicht, bis Sie die Leistung Ihrer -Anwendung gemessen haben, und stellen Sie fest, dass ng-include ein Engpass ist.

    
pkozlowski.opensource 18.05.2013, 08:29
quelle