Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 24383|Antwort: 4

[Kantig] Angular 9er Serie (1) Dynamisch geladene Bauteile

[Link kopieren]
Veröffentlicht am 29.05.2020 16:40:00 | | | |
Angular 9er Serie (1) Dynamisch geladene Bauteile
https://www.itsvse.com/thread-9238-1-1.html

Winkel-9-Serie (2) dynamische Komponenten Übertragungsparameter
https://www.itsvse.com/thread-9245-1-1.html

Angular 9 Serie (3) unterzieht dynamische Komponentenereignisse
https://www.itsvse.com/thread-9246-1-1.html

Angular 9 Serie (IV) Individuelle Rohrleitungen
https://www.itsvse.com/thread-9248-1-1.html

Angular 9 Series (V) formatiert das Format der Betragswährung
https://www.itsvse.com/thread-9249-1-1.html



Die Vorlage einer Komponente ist nicht immer festgelegt. Deine App muss möglicherweise während der Laufzeit neue Komponenten laden.

Anwendungsszenarien:

1. Seitenladen lädt verschiedene Komponenten entsprechend unterschiedlichen Parametern und zeigt unterschiedliche Effekte
2. Die Seite besteht aus mehreren Elementen, nicht alle müssen zu Beginn angezeigt werden, und spezifische Informationen werden nach dem Klick angezeigt, wie zum Beispiel: Tab-Tabs, dynamische Pop-up-Modalboxen usw.

Das Anwendungsszenario dieses Artikels ist 2, stellen Sie sich einfach vor,Wenn du kein dynamisches Laden nutzt, werden beim Öffnen der Hauptoberfläche alle versteckten Komponenten der Seite geladen und alle Komponenten rufen ihre entsprechenden Interface-Dienste auf, oft müssen wir nicht alle Informationen sehen, was eine große Ressourcenverschwendung ist und auch dazu führen kann, dass die Hauptoberfläche langsam lädt, was das Nutzererlebnis beeinträchtigt

Es gibt zwei Möglichkeiten, Komponenten dynamisch in ng zu laden:

Laden Sie bereits deklarierte Komponenten: Verwenden Sie ComponentFactoryResolver, um eine Instanz einer Komponente in eine andere Komponentenansicht zu rendern;
Erstellen und laden Sie Komponenten dynamisch: Verwenden Sie ComponentFactory und Compiler, um Komponenten zu erstellen und zu rendern
Je nach unseren Bedürfnissen werden die einzelnen Komponenten im Voraus entwickelt und müssen auf derselben Komponente angezeigt werden. Der erste Weg erfüllt also unsere Anforderungen.

Um Komponenten dynamisch mit ComponentFactoryResolver zu laden, müssen Sie die folgenden Konzepte verstehen:

  • ViewChild: Property Decorator, über den Sie die entsprechenden Elemente in der Ansicht erhalten können;
  • ViewContainerRef: Ein View-Container, auf dem Komponenten erstellt und gelöscht werden können;
  • ComponentFactoryResolver: Ein Komponentenparser, der eine Komponente auf einer Ansicht einer anderen rendern kann.

Schauen wir uns zuerst die Renderings an: Klicken Sie auf die modal1-Taste, um die modal1-Komponente dynamisch zu laden, und klicken Sie auf die modal2-Taste, um die modal2-Komponente dynamisch zu laden.



Zuerst erstellen wir ein Angular-Projekt.

Erstellen Sie 4 Komponenten, nämlich Index, Modal1, Modal2 und Modal3, von denen Modal1 und Modal2 unsere dynamisch geladenen Komponenten sind.

Indexkomponente

HTML:

TS:

modal1-Komponente

HTML:

TS:


Modal2-Komponente

HTML:


TS:

modal3-Komponente

HTML:


TS:


Wir haben ihre Namen für drei Modals auf den Konstruktor gedruckt.

modal1 und modal2 werden beide dynamisch geladen, nur wenn der Button zum Laden geklickt wird, wird der Ausführungskonstruktor ausgelöst, modal3 verwendet kein dynamisches Laden, nachdem die übergeordnete Schnittstelle geladen ist, wird der modal3-Schnittstellenkonstruktor sofort ausgeführt.

So erkennt man die Vorteile des dynamischen Ladens, und es wird nicht geladen, wenn man es nicht nutzt, ähnlich wie beim lazy loading in C#.

Quellcode-Download:

Touristen, wenn ihr den versteckten Inhalt dieses Beitrags sehen wollt, bitteAntwort


Betriebsmittel:Der Hyperlink-Login ist sichtbar.






Vorhergehend:CSS-Einstellungshöhe: 100 % ungültige Lösung
Nächster:Azure DevOps 2020 (1) Erste Einführung in Microsoft Azure DevOps (TFS)
 Vermieter| Veröffentlicht am 24.07.2020 17:52:58 |
Angular 9er Serie (1) Dynamisch geladene Bauteile
https://www.itsvse.com/thread-9238-1-1.html

Winkel-9-Serie (2) dynamische Komponenten Übertragungsparameter
https://www.itsvse.com/thread-9245-1-1.html

Angular 9 Serie (3) unterzieht dynamische Komponentenereignisse
https://www.itsvse.com/thread-9246-1-1.html

Angular 9 Serie (IV) Individuelle Rohrleitungen
https://www.itsvse.com/thread-9248-1-1.html

Angular 9 Series (V) formatiert das Format der Betragswährung
https://www.itsvse.com/thread-9249-1-1.html

Die Winkel-9-Reihe (VI) ruft native JS-Variablen und Methoden auf
https://www.itsvse.com/thread-9254-1-1.html

Angular 9-Serie (VII) CSS-ähnliches Zielfernrohr
https://www.itsvse.com/thread-9264-1-1.html

Die Angular 9-Reihe (VIII) aktualisiert den Wert einer Kindkomponente, indem ein Ereignis per Set ausgelöst wird
https://www.itsvse.com/thread-9267-1-1.html

Angular 9 Serie (neun) #id Selektor auf der Seite angewendet
https://www.itsvse.com/thread-9278-1-1.html

Die Angular 9er Serie (10) integriert Vconsole- und Eruda-Entwickler-Debugging-Panels
https://www.itsvse.com/thread-9286-1-1.html

Angular 9 Serie (XI) 5 Möglichkeiten, Stile zu definieren
https://www.itsvse.com/thread-9305-1-1.html


Die Angular 9-Serie (XII) erzeugt dynamische Token basierend auf OTPs
https://www.itsvse.com/thread-9325-1-1.html
 Vermieter| Veröffentlicht am 02.02.2021 13:56:30 |
Die Angular 10 Serie (dreizehn) führt Baidu echarts Charts ein
https://www.itsvse.com/thread-9347-1-1.html

Produktionsumgebung der Angular 11 Serie (XIV) zum Debuggen
https://www.itsvse.com/thread-9348-1-1.html

Die Angular 11er Serie (XV) erhält die Bauteilhöhe und passt die Höhe dynamisch an
https://www.itsvse.com/thread-9364-1-1.html

Angular 11 Serie (16) Seiten Parsing HTML-Quellcode
https://www.itsvse.com/thread-9376-1-1.html
Veröffentlicht am 26.10.2022 17:27:19 |
Lernen!!!!!!!!!!!!!
 Vermieter| Veröffentlicht am 30.04.2025 14:38:35 |
ComponentFactoryResolverVeraltet

Die Änderungen sind wie folgt:
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com