Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 24383|Atsakyti: 4

[Kampinis] Angular 9 serijos (1) dinamiškai apkrauti komponentai

[Kopijuoti nuorodą]
Paskelbta 2020-05-29 16:40:00 | | | |
Angular 9 serijos (1) dinamiškai apkrauti komponentai
https://www.itsvse.com/thread-9238-1-1.html

Angular 9 serijos (2) dinaminių komponentų perdavimo parametrai
https://www.itsvse.com/thread-9245-1-1.html

"Angular 9" serija (3) prenumeruoja dinaminių komponentų įvykius
https://www.itsvse.com/thread-9246-1-1.html

Angular 9 serijos (IV) Custom Pipe vamzdynai
https://www.itsvse.com/thread-9248-1-1.html

"Angular 9" serija (V) formatuoja sumos valiutos formatą
https://www.itsvse.com/thread-9249-1-1.html



Komponento šablonas ne visada bus fiksuotas. Jūsų programai gali reikėti įkelti keletą naujų komponentų vykdymo metu.

Naudojimo scenarijai:

1. Puslapio įkėlimas įkelia skirtingus komponentus pagal skirtingus parametrus, rodydamas skirtingus efektus
2. Puslapį sudaro keli elementai, ne visi jie turi būti rodomi pradžioje, o vartotojui spustelėjus bus rodoma konkreti informacija, pvz.: skirtukų skirtukai, dinaminiai iššokantys modaliniai langai ir kt.

Šio straipsnio naudojimo scenarijus yra 2, tik įsivaizduokite,Jei nenaudojate dinaminio įkėlimo, atidarius pagrindinę sąsają, bus įkelti visi paslėpti puslapio komponentai, o visi komponentai iškviečia atitinkamas sąsajos paslaugas, dažnai mums nereikia matyti visos informacijos, o tai yra didelis išteklių švaistymas, be to, pagrindinė sąsaja gali būti įkeliama lėtai, o tai turi įtakos vartotojo patirčiai

Yra du būdai, kaip dinamiškai įkelti komponentus ng:

Įkelti jau deklaruotus komponentus: naudokite ComponentFactoryResolver, kad atvaizduotumėte komponento egzempliorių į kitą komponento rodinį;
Dinamiškas komponentų kūrimas ir įkėlimas: naudokite "ComponentFactory" ir kompiliatorių komponentams kurti ir generuoti
Pagal mūsų poreikius atskiri komponentai yra kuriami iš anksto ir turi būti rodomi tame pačiame komponente. Taigi pirmasis būdas atitinka mūsų reikalavimus.

Norėdami dinamiškai įkelti komponentus naudodami "ComponentFactoryResolver", turite suprasti šias sąvokas:

  • ViewChild: Nekilnojamojo turto dekoratorius, per kurį galite gauti atitinkamus elementus rodinyje;
  • ViewContainerRef: rodinio konteineris, kuriame galima kurti ir panaikinti komponentus;
  • ComponentFactoryResolver: komponentų analizatorius, galintis generuoti vieną komponentą kito rodinyje.

Pirmiausia pažvelkime į atvaizdus, spustelėkite mygtuką modal1, kad dinamiškai įkeltumėte modal1 komponentą, ir spustelėkite modal2 mygtuką, kad dinamiškai įkeltumėte modal2 komponentą.



Pirmiausia sukuriame kampinį projektą.

Sukurkite 4 komponentus, būtent indeksą, modalą1, modalą2 ir modalą3, iš kurių modalas1 ir modalas2 yra mūsų dinamiškai apkrauti komponentai.

Indekso komponentas

html:

TS:

Modal1 komponentas

html:

TS:


Modal2 komponentas

html:


TS:

Modal3 komponentas

html:


TS:


Mes atspausdinome jų pavadinimus ant konstruktoriaus 3 modalams.

"Modal1" ir "Modal2" yra dinamiškai įkeliami, tik spustelėjus mygtuką įkelti, bus suaktyvintas vykdymo konstruktorius, "Modal3" nenaudoja dinaminio įkėlimo, įkėlus pirminę sąsają, "Modal3" sąsajos konstruktorius bus vykdomas nedelsiant.

Tokiu būdu galite pamatyti dinaminio pakrovimo pranašumus ir jis nebus įkeltas, jei jo nenaudosite, panašiai kaip tingus įkėlimas C#.

Šaltinio kodo atsisiuntimas:

Turistai, jei norite pamatyti paslėptą šio įrašo turinį, prašomeAtsakyti


Išteklių:Hipersaito prisijungimas matomas.






Ankstesnis:CSS nustatymo aukštis: 100% netinkamas sprendimas
Kitą:Azure DevOps 2020 (1) Pirmasis įvadas į Microsoft Azure DevOps (TFS)
 Savininkas| Paskelbta 2020-07-24 17:52:58 |
Angular 9 serijos (1) dinamiškai apkrauti komponentai
https://www.itsvse.com/thread-9238-1-1.html

Angular 9 serijos (2) dinaminių komponentų perdavimo parametrai
https://www.itsvse.com/thread-9245-1-1.html

"Angular 9" serija (3) prenumeruoja dinaminių komponentų įvykius
https://www.itsvse.com/thread-9246-1-1.html

Angular 9 serijos (IV) Custom Pipe vamzdynai
https://www.itsvse.com/thread-9248-1-1.html

"Angular 9" serija (V) formatuoja sumos valiutos formatą
https://www.itsvse.com/thread-9249-1-1.html

Angular 9 serija (VI) iškviečia vietinius JS kintamuosius ir metodus
https://www.itsvse.com/thread-9254-1-1.html

Kampinis 9 serijos (VII) CSS stiliaus taikiklis
https://www.itsvse.com/thread-9264-1-1.html

"Angular 9" serija (VIII) atnaujina antrinio komponento reikšmę suaktyvindama įvykį per rinkinį
https://www.itsvse.com/thread-9267-1-1.html

Kampinė 9 serija (devyni) #id puslapyje taikomas parinkiklis
https://www.itsvse.com/thread-9278-1-1.html

Angular 9 serija (10) įterpia vconsole ir eruda kūrėjo derinimo skydelius
https://www.itsvse.com/thread-9286-1-1.html

Angular 9 serija (XI) 5 stilių apibrėžimo būdai
https://www.itsvse.com/thread-9305-1-1.html


Angular 9 serija (XII) generuoja dinaminius žetonus pagal OTP
https://www.itsvse.com/thread-9325-1-1.html
 Savininkas| Paskelbta 2021-02-02 13:56:30 |
Angular 10 serija (trylika) pristato Baidu echarts diagramas
https://www.itsvse.com/thread-9347-1-1.html

"Angular 11" serijos (XIV) derinimo gamybos aplinka
https://www.itsvse.com/thread-9348-1-1.html

"Angular 11" serija (XV) įgauna komponentų aukštį ir dinamiškai reguliuoja aukštį
https://www.itsvse.com/thread-9364-1-1.html

Angular 11 serijos (16) puslapių analizė HTML šaltinio kodas
https://www.itsvse.com/thread-9376-1-1.html
Paskelbta 2022-10-26 17:27:19 |
Sužinokite!!!!!!!!!!!!!
 Savininkas| Paskelbta 2025-04-30 14:38:35 |
ComponentFactoryResolverNebenaudojama

Pakeitimai yra šie:
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com