See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 24383|Vastuse: 4

[Nurgeline] Angular 9 seeria (1) dünaamiliselt laetud komponendid

[Kopeeri link]
Postitatud 29.05.2020 16:40:00 | | | |
Angular 9 seeria (1) dünaamiliselt laetud komponendid
https://www.itsvse.com/thread-9238-1-1.html

Nurk-9 seeria (2) dünaamilise komponendi ülekandeparameetrit
https://www.itsvse.com/thread-9245-1-1.html

Angular 9 seeria (3) järgib dünaamiliste komponentide sündmusi
https://www.itsvse.com/thread-9246-1-1.html

Angular 9 seeria (IV) eritellimusel torujuhtmed
https://www.itsvse.com/thread-9248-1-1.html

Angular 9 seeria (V) vormindab summa valuuta formaati
https://www.itsvse.com/thread-9249-1-1.html



Komponendi mall ei ole alati fikseeritud. Sinu rakendus võib vajada käivitamise ajal uusi komponente laadida.

Kasutusstsenaariumid:

1. Lehe laadimine laadib erinevaid komponente vastavalt erinevatele parameetritele, näidates erinevaid efekte
2. Leht koosneb mitmest elemendist, mitte kõiki ei pea alguses kuvama, ning spetsiifiline info kuvatakse pärast kasutaja klikki, näiteks: vahelehtede vahekaardid, dünaamilised hüpikakende modaalkastid jne.

Selle artikli kasutusstsenaarium on 2, kujuta ette,Kui sa ei kasuta dünaamilist laadimist, siis kui avad peamise liidese, laaditakse kõik lehe peidetud komponendid ja kõik komponendid kutsuvad vastavad liideseteenused, sageli ei pea me kogu infot nägema, mis on suur ressursside raiskamine ja võib põhjustada peamise liidese aeglast laadimist, mõjutades kasutajakogemust

Komponentide dünaamiliselt laadimiseks ng on kaks võimalust:

Laadi juba deklareeritud komponendid: Kasuta ComponentFactoryResolverit, et renderdada komponendi eksemplar teise komponendivaatesse;
Loo ja laadi komponente dünaamiliselt: Kasuta komponentide loomiseks ja renderdamiseks ComponentFactoryt ja Compilerit
Meie vajaduste järgi arendatakse üksikud komponendid eelnevalt välja ja neid tuleb kuvada samal komponendil. Seega vastab esimene viis meie nõuetele.

Komponentide dünaamiliseks laadimiseks ComponentFactoryResolveri abil tuleb mõista järgmisi kontseptsioone:

  • ViewChild: Property decorator, mille kaudu saad vaadata vastavad elemendid;
  • ViewContainerRef: vaatekonteiner, millel saab komponente luua ja kustutada;
  • ComponentFactoryResolver: komponendiparser, mis suudab kuvada ühe komponendi teise vaates.

Kõigepealt vaatame renderdusi, klõpsame modal1 nupul, et dünaamiliselt laadida modal1 komponent, ja vajutame modal2 nuppu, et dünaamiliselt laadida modal2 komponent.



Esmalt loome nurkse projekti.

Loo 4 komponenti: indeks, modal1, modal2 ja modal3, millest modal1 ja modal2 on meie dünaamiliselt laetud komponendid.

Indeksikomponent

HTML:

TS:

modal1 komponent

HTML:

TS:


modal2 komponent

HTML:


TS:

modal3 komponent

HTML:


TS:


Me trükkisime nende nimed konstruktorile kolme modaali jaoks.

Modal1 ja modal2 laaditakse dünaamiliselt ainult siis, kui nuppu vajutatakse laadimiseks, käivitub täitmiskonstruktor, modal3 ei kasuta dünaamilist laadimist, pärast vanemliidese laadimist käivitatakse modal3 liidese konstruktor kohe.

Nii näed dünaamilise laadimise eeliseid ja see ei lae, kui sa seda ei kasuta, sarnaselt laiskale laadimisele C#-s.

Lähtekoodi allalaadimine:

Turistid, kui soovite näha selle postituse peidetud sisu, palunVastuse


Ressursse:Hüperlingi sisselogimine on nähtav.






Eelmine:CSS seadistuskõrgus: 100% kehtetu lahendus
Järgmine:Azure DevOps 2020 (1) Esimene sissejuhatus Microsoft Azure DevOps (TFS)
 Üürileandja| Postitatud 24.07.2020 17:52:58 |
Angular 9 seeria (1) dünaamiliselt laetud komponendid
https://www.itsvse.com/thread-9238-1-1.html

Nurk-9 seeria (2) dünaamilise komponendi ülekandeparameetrit
https://www.itsvse.com/thread-9245-1-1.html

Angular 9 seeria (3) järgib dünaamiliste komponentide sündmusi
https://www.itsvse.com/thread-9246-1-1.html

Angular 9 seeria (IV) eritellimusel torujuhtmed
https://www.itsvse.com/thread-9248-1-1.html

Angular 9 seeria (V) vormindab summa valuuta formaati
https://www.itsvse.com/thread-9249-1-1.html

Angular 9 seeria (VI) kutsub natiivseid JS-muutujaid ja meetodeid
https://www.itsvse.com/thread-9254-1-1.html

Angular 9 seeria (VII) CSS-stiilis sihik
https://www.itsvse.com/thread-9264-1-1.html

Angular 9 seeria (VIII) uuendab lapsekomponendi väärtust, käivitades sündmuse komplekti kaudu
https://www.itsvse.com/thread-9267-1-1.html

Angular 9 seeria (üheksa) #id valija lehel
https://www.itsvse.com/thread-9278-1-1.html

Angular 9 seeria (10) sisaldab vconsole'i ja eruda arendajate silumispaneele
https://www.itsvse.com/thread-9286-1-1.html

Angular 9 seeria (XI) 5 viisi stiilide määratlemiseks
https://www.itsvse.com/thread-9305-1-1.html


Angular 9 seeria (XII) genereerib dünaamilisi tokeneid OTP-de põhjal
https://www.itsvse.com/thread-9325-1-1.html
 Üürileandja| Postitatud 02.02.2021 13:56:30 |
Angular 10 seeria (kolmteist) tutvustab Baidu echartsi tabeleid
https://www.itsvse.com/thread-9347-1-1.html

Angular 11 seeria (XIV) tootmiskeskkond silumiseks
https://www.itsvse.com/thread-9348-1-1.html

Angular 11 seeria (XV) omandab komponentide kõrguse ja reguleerib dünaamiliselt kõrgust
https://www.itsvse.com/thread-9364-1-1.html

Angular 11 seeria (16) lehekülje HTML-lähtekoodi parsimine
https://www.itsvse.com/thread-9376-1-1.html
Postitatud 26.10.2022 17:27:19 |
Õpi!!!!!!!!!!!!!
 Üürileandja| Postitatud 30.04.2025 14:38:35 |
ComponentFactoryResolverAegunud

Muudatused on järgmised:
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com