Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 24383|Svare: 4

[Kantet] Angular 9-serie (1) dynamisk lastede komponenter

[Kopier lenke]
Publisert på 29.05.2020 16:40:00 | | | |
Angular 9-serie (1) dynamisk lastede komponenter
https://www.itsvse.com/thread-9238-1-1.html

Vinkel 9-serie (2) dynamiske komponenttransmisjonsparametere
https://www.itsvse.com/thread-9245-1-1.html

Angular 9-serie (3) abonnerer på dynamiske komponenthendelser
https://www.itsvse.com/thread-9246-1-1.html

Angular 9-serie (IV) spesialrørledninger
https://www.itsvse.com/thread-9248-1-1.html

Angular 9 Series (V) formaterer beløpsvalutaformatet
https://www.itsvse.com/thread-9249-1-1.html



Malen til en komponent vil ikke alltid være fast. Appen din må kanskje laste inn noen nye komponenter under kjøring.

Bruksscenarier:

1. Sidelasting laster inn forskjellige komponenter i henhold til ulike parametere, og viser ulike effekter
2. Siden består av flere elementer, ikke alle trenger å vises i starten, og spesifikk informasjon vises etter at brukeren har klikket, som: fanefaner, dynamiske popup-modalbokser osv.

Bruksscenariet i denne artikkelen er 2, bare tenk deg,Hvis du ikke bruker dynamisk lasting, vil alle de skjulte komponentene på siden bli lastet inn når du åpner hovedgrensesnittet, og alle komponentene kaller sine tilsvarende grensesnitttjenester. Ofte trenger vi ikke å se all informasjonen, noe som er et stort sløsing med ressurser, og kan også føre til at hovedgrensesnittet laster sakte, noe som påvirker brukeropplevelsen

Det finnes to måter å dynamisk laste komponenter i ng på:

Last inn allerede deklarerte komponenter: Bruk ComponentFactoryResolver for å gjengi en instans av en komponent til en annen komponentvisning;
Opprett og last inn komponenter dynamisk: Bruk ComponentFactory og Compiler for å lage og rendre komponenter
I henhold til våre behov utvikles de individuelle komponentene på forhånd og må vises på samme komponent. Så den første måten oppfyller våre krav.

For å laste inn komponenter dynamisk ved hjelp av ComponentFactoryResolver, må du forstå følgende konsepter:

  • ViewChild: Property decorator, hvor du kan få de tilsvarende elementene i visningen;
  • ViewContainerRef: En visningsbeholder hvor komponenter kan opprettes og slettes;
  • ComponentFactoryResolver: En komponentparser som kan gjengi én komponent på en visning av en annen.

Først, la oss se på renderingene, klikk på modal1-knappen for å laste modal1-komponenten dynamisk, og klikk på modal2-knappen for å laste modal2-komponenten dynamisk.



Først lager vi et vinkelprosjekt.

Lag 4 komponenter, nemlig indeks, modal1, modal2 og modal3, hvorav modal1 og modal2 er våre dynamisk lastede komponenter.

Indekskomponent

html:

TS:

Modal1-komponent

html:

TS:


modal2-komponent

html:


TS:

modal3-komponent

html:


TS:


Vi trykket navnene deres på konstruktøren for 3 modaler.

modal1 og modal2 lastes begge dynamisk, men når knappen trykkes for å laste, vil utførelseskonstruktøren bli utløst, modal3 bruker ikke dynamisk lasting, etter at foreldregrensesnittet er lastet, vil modal3-grensesnittkonstruktøren bli utført umiddelbart.

På denne måten kan du se fordelene med dynamisk lasting, og den vil ikke laste hvis du ikke bruker den, på samme måte som lat lasting i C#.

Nedlasting av kildekode:

Turister, hvis dere vil se det skjulte innholdet i dette innlegget, vær så snillSvare


Ressurser:Innloggingen med hyperkoblingen er synlig.






Foregående:CSS-innstillingshøyde: 100 % ugyldig løsning
Neste:Azure DevOps 2020 (1) Første introduksjon til Microsoft Azure DevOps (TFS)
 Vert| Publisert på 24.07.2020 17:52:58 |
Angular 9-serie (1) dynamisk lastede komponenter
https://www.itsvse.com/thread-9238-1-1.html

Vinkel 9-serie (2) dynamiske komponenttransmisjonsparametere
https://www.itsvse.com/thread-9245-1-1.html

Angular 9-serie (3) abonnerer på dynamiske komponenthendelser
https://www.itsvse.com/thread-9246-1-1.html

Angular 9-serie (IV) spesialrørledninger
https://www.itsvse.com/thread-9248-1-1.html

Angular 9 Series (V) formaterer beløpsvalutaformatet
https://www.itsvse.com/thread-9249-1-1.html

Vinkel 9-serie (VI) kaller native JS-variabler og metoder
https://www.itsvse.com/thread-9254-1-1.html

Angular 9-serie (VII) CSS-stil teleskop
https://www.itsvse.com/thread-9264-1-1.html

Angular 9-serie (VIII) oppdaterer verdien til en barnekomponent ved å utløse en hendelse via et sett
https://www.itsvse.com/thread-9267-1-1.html

Angular 9 Series (ni) #id velger brukt på siden
https://www.itsvse.com/thread-9278-1-1.html

Angular 9-serien (10) integrerer vconsole og eruda utvikler feilsøkingspaneler
https://www.itsvse.com/thread-9286-1-1.html

Angular 9-serien (XI) 5 måter å definere stiler på
https://www.itsvse.com/thread-9305-1-1.html


Angular 9-serien (XII) genererer dynamiske tokens basert på OTP-er
https://www.itsvse.com/thread-9325-1-1.html
 Vert| Publisert på 02.02.2021 13:56:30 |
Angular 10-serien (tretten) introduserer Baidu echarts-diagrammer
https://www.itsvse.com/thread-9347-1-1.html

Angular 11-serie (XIV) produksjonsmiljø for feilsøking
https://www.itsvse.com/thread-9348-1-1.html

Angular 11-serien (XV) får komponenthøyde og justerer høyden dynamisk
https://www.itsvse.com/thread-9364-1-1.html

Angular 11-serie (16) side parsing HTML-kildekode
https://www.itsvse.com/thread-9376-1-1.html
Publisert på 26.10.2022 17:27:19 |
Lær!!!!!!!!!!!!!
 Vert| Publisert på 30.04.2025 14:38:35 |
ComponentFactoryResolverUtdatert

Endringene er som følger:
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com