Wenn Sie den Routen/View -Modus in AngularJS verwenden, um eine große Website oder Anwendung zu erstellen, ist das Laden aller benutzerdefinierten Dateien wie Controller und Vorlagen während der Initialisierung keine gute Idee. Am besten laden Sie nur die erforderlichen Dateien beim Initialisieren. Diese Dateien können von einer Verbindung oder mehreren Dateien abhängen, sie werden jedoch nur von einer bestimmten Route verwendet. Wenn wir die Routen wechseln, werden die entladenen Dateien nach Bedarf geladen. Dies verbessert nicht nur die Geschwindigkeit der Initialisierung der Seite, sondern verhindert auch Bandbreitenabfälle.
Die meisten Artikel im Internet sprechen über das faule Laden von Controllern über RooleProvider- und Drittanbieterdienste. Zum Beispiel erklärt das Laden von AngularJS -Controllern auf Bedarf im Detail. Es gibt jedoch nur wenige Artikel über das faule Laden von Controllern, HTML/Vorlagen mit $ stateProvider. Obwohl ich viele Quellcode im Zusammenhang mit $ stateProvider angesehen habe und das faule Ladeproblem von HTML/Vorlage gelöst habe, löste es das faule Ladungsproblem des Controllers, das schade ist, immer noch nicht gelöst. Aus zeitlichen Problemen werden die Untersuchungsergebnisse zunächst ausgesucht und die Untersuchung werden in Zukunft fortgesetzt.
In Bezug auf das faule Laden von HTML/Vorlage müssen Sie die HTML -Datei und die Home -Datei in verschiedenen Verzeichnissen platzieren, ansonsten wird sie automatisch geladen. In ähnlicher Weise können Sie Templateurl nicht verwenden, um die Datei anzugeben, ansonsten wird sie automatisch geladen. Die Vorlageneigenschaft von $ stateProvider.State unterstützt Stringwerte und -funktionen. Daher kann eine Funktion definiert werden, um HTML -Dateien zu laden und zu zwischenstrahlen, um das doppelte Laden von Dateien zu verhindern. Ich wollte, dass der Controller dasselbe tut, aber leider konnte ich die Definition der Controller -Funktion nicht finden. Ich habe viele Methoden ausprobiert, aber gescheitert. Ich werde den Quellcode in Zukunft untersuchen, um zu sehen, was fehlte. Ich werde den Code direkt hochladen, die Logik ist nicht kompliziert, daher werde ich nicht viel reden.
// Notieren Sie den geladenen HTML und den Controller, um das laden doppelte Netzwerk Laden $ ionic.files = {html: {}, Controller: {}}; // Deklarieren Sie die verzögerte Lade -HTML -Methode $ Ionic.gethtml = Funktion Gethtml (name) {/ $ ionic.files.files.html [name) {/ $ ionic.files So laden Sie HTML und Cache $ ionic.files.html [name] = jQuery.ajax ({url: 'Ansichten/' + name + ".html", async: false}. Respotsetext;} return $ ionic = $ .getscript ('assets/controller/' + name + '.js'); "/login", Controller: ResolVeController ("Logincontroller"), Vorlage: Funktion () {return $ ionic.gethtml ("Login");Das obige ist die vollständige Beschreibung der AngularJS -Verzögerungs -Lade -HTML -Vorlage, die Ihnen vom Editor vorgestellt wurde. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!