Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 24383|Odpowiedź: 4

[Angular] Elementy dynamicznie obciążone w serii Angular 9 (1)

[Skopiuj link]
Opublikowano 29.05.2020 16:40:00 | | | |
Elementy dynamicznie obciążone w serii Angular 9 (1)
https://www.itsvse.com/thread-9238-1-1.html

Parametry transmisji dynamicznych komponentów serii 9 (2)
https://www.itsvse.com/thread-9245-1-1.html

Seria Angular 9 (3) subskrybuje dynamiczne zdarzenia komponentowe
https://www.itsvse.com/thread-9246-1-1.html

Rurociągi niestandardowe Angular 9 Series (IV)
https://www.itsvse.com/thread-9248-1-1.html

Angular 9 Series (V) formatuje format waluty kwotowej
https://www.itsvse.com/thread-9249-1-1.html



Szablon komponentu nie zawsze będzie stały. Twoja aplikacja może potrzebować załadować nowe komponenty podczas działania.

Scenariusze użycia:

1. Ładowanie stron ładuje różne komponenty zgodnie z różnymi parametrami, pokazując różne efekty
2. Strona składa się z wielu elementów, nie wszystkie muszą być wyświetlane na początku, a po kliknięciu użytkownika pojawią się konkretne informacje, takie jak: zakładki kart, dynamiczne okienka modalne itp.

Scenariusz użycia tego artykułu jest następujący: 2, wyobraź sobie,Jeśli nie używasz dynamicznego ładowania, po otwarciu głównego interfejsu wszystkie ukryte komponenty strony zostaną załadowane, a wszystkie komponenty wywołają odpowiadające im usługi interfejsu, często nie musimy widzieć wszystkich informacji, co jest ogromnym marnotrawstwem zasobów i może też powodować wolne ładowanie głównego interfejsu, co wpływa na doświadczenie użytkownika

Istnieją dwa sposoby dynamicznego ładowania składowych w ng:

Załaduj już zadeklarowane komponenty: Użyj ComponentFactoryResolver, aby wyrenderować instancję komponentu do innego widoku komponentu;
Dynamicznie twórz i ładuj komponenty: Użyj ComponentFactory i Compiler do tworzenia i renderowania komponentów
Zgodnie z naszymi potrzebami, poszczególne elementy są rozwijane wcześniej i muszą być wyświetlane na tym samym komponencie. Więc pierwszy sposób spełnia nasze wymagania.

Aby dynamicznie ładować komponenty za pomocą ComponentFactoryResolver, musisz zrozumieć następujące koncepcje:

  • ViewChild: Property demontator, dzięki któremu możesz uzyskać odpowiednie elementy widoku;
  • ViewContainerRef: Kontener widokowy, w którym można tworzyć i usuwać komponenty;
  • ComponentFactoryResolver: Parser komponentów, który może renderować jeden komponent w widoku innego.

Najpierw przyjrzyjmy się renderom, kliknij przycisk modal1, aby dynamicznie załadować komponent modal1, oraz kliknij przycisk modal2, aby dynamicznie załadować komponent modal2.



Najpierw tworzymy projekt angularny.

Stwórz 4 komponenty: indeks, modal1, modal2 i modal3, z których modal1 i modal2 są naszymi dynamicznie ładowanymi komponentami.

Komponent indeksowy

html:

TS:

Komponent modal1

html:

TS:


Komponent modal2

html:


TS:

Komponent Modal3

html:


TS:


Wydrukowaliśmy ich nazwy na konstruktorze dla 3 modali.

Modal1 i Modal2 są dynamicznie ładowane, tylko gdy klikniesz przycisk do załadowania, uruchamiany jest konstruktor wykonawczy, Modal3 nie używa dynamicznego ładowania, po załadowaniu interfejsu nadrzędnego konstruktor interfejsu Modal3 jest uruchamiany natychmiast.

W ten sposób można zobaczyć zalety dynamicznego ładowania i nie będzie ono ładowane, jeśli go nie używasz, podobnie jak leniwe ładowanie w C#.

Pobranie kodu źródłowego:

Turyści, jeśli chcecie zobaczyć ukrytą zawartość tego wpisu, proszęOdpowiedź


Zasoby:Logowanie do linku jest widoczne.






Poprzedni:Wysokość ustawienia CSS: rozwiązanie 100% nieprawidłowe
Następny:Azure DevOps 2020 (1) Pierwsze wprowadzenie do Microsoft Azure DevOps (TFS)
 Ziemianin| Opublikowano 24.07.2020 17:52:58 |
Elementy dynamicznie obciążone w serii Angular 9 (1)
https://www.itsvse.com/thread-9238-1-1.html

Parametry transmisji dynamicznych komponentów serii 9 (2)
https://www.itsvse.com/thread-9245-1-1.html

Seria Angular 9 (3) subskrybuje dynamiczne zdarzenia komponentowe
https://www.itsvse.com/thread-9246-1-1.html

Rurociągi niestandardowe Angular 9 Series (IV)
https://www.itsvse.com/thread-9248-1-1.html

Angular 9 Series (V) formatuje format waluty kwotowej
https://www.itsvse.com/thread-9249-1-1.html

Seria Angular 9 (VI) wywołuje natywne zmienne i metody JS
https://www.itsvse.com/thread-9254-1-1.html

Angular serii 9 (VII) w stylu CSS
https://www.itsvse.com/thread-9264-1-1.html

Seria Angular 9 (VIII) aktualizuje wartość komponentu potomnego poprzez wyzwalanie zdarzenia za pomocą zestawu
https://www.itsvse.com/thread-9267-1-1.html

Angular 9 Series (dziewięć) #id selektor zastosowany na stronie
https://www.itsvse.com/thread-9278-1-1.html

Seria Angular 9 (10) osadza panele debugujące dla deweloperów vconsole i eruda
https://www.itsvse.com/thread-9286-1-1.html

Angular 9 Series (XI) 5 sposobów definiowania stylów
https://www.itsvse.com/thread-9305-1-1.html


Seria Angular 9 (XII) generuje tokeny dynamiczne oparte na OTP
https://www.itsvse.com/thread-9325-1-1.html
 Ziemianin| Opublikowano 02.02.2021 13:56:30 |
Seria Angular 10 (trzynaście) wprowadza wykresy Baidu echarts
https://www.itsvse.com/thread-9347-1-1.html

Środowisko produkcyjne serii Angular 11 (XIV) do debugowania
https://www.itsvse.com/thread-9348-1-1.html

Seria Angular 11 (XV) zyskuje wysokość komponentów i dynamicznie reguluje wysokość
https://www.itsvse.com/thread-9364-1-1.html

Angular 11 series (16) parsing kodu źródłowego HTML
https://www.itsvse.com/thread-9376-1-1.html
Opublikowano 26.10.2022 17:27:19 |
Ucz się!!!!!!!!!!!!!
 Ziemianin| Opublikowano 30.04.2025 14:38:35 |
ComponentFactoryResolverWycofane

Poprawki przedstawiają się następująco:
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com