Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 13482|Odgovoriti: 0

[Angular] Past Angular 4.0: raziskovanje podpoti in lenobno nalaganje

[Kopiraj povezavo]
Objavljeno na 13. 06. 2019 13:13:10 | | | |
Z naraščajočim povpraševanjem postajajo funkcije projekta bolj zapletene. Trenutno morate modularizirati projekt in pakirati komponente, ukaze in cevovode v kohezivne funkcionalne bloke, kar je ravno prav za raziskovanje podpoti in lenobnega nalaganja modulov v Angular4.

V prejšnjem razvoju je bila v korenskem modulu implementirana preprosta usmerjevalna funkcija, ki jo je mogoče povzeti v naslednjih treh korakih:

1、在app.module.ts文件中加载路由库,并且在@NgModule中引入RouterModule.forRoot方法,其中,appRoutes是路由数组,它定义了具体的路由规则。


2. Dodajte navigacijsko vrstico v shell komponento, kjer ukaz routerLink kaže na cilj poti, routerLinkActive pa doda css slog izbrani oznaki


3. Dodajte ukaz usmerjevalnik-izhod v predlogo komponente lupine in pogled se bo tam prikazal

Zdaj želim na tej osnovi implementirati podpoti in lenobno nalaganje modulov.

RouterModule.forRoot() in RouterModule.forChild()

Objekt RouterModule ponuja dve statični metodi: forRoot() in forChild() za konfiguracijo usmerjevalnih informacij.

Metoda RouterModule.forRoot() se uporablja za definiranje glavnih usmerjevalnih informacij v glavnem modulu, RouterModule.forChild() pa je podobna metodi Router.forRoot(), vendar jo je mogoče uporabiti le v funkcijskih modulih.

To pomeni, da se forRoot() uporablja v korenskem modulu, forChild() pa v podmodulu.

Njegov sin Lu Ru

Predpostavimo, da sta pod našo stranjo z nastavitvami /settings dve strani, /settings/profile in /settings/password, ki predstavljata profilno stran oziroma stran za spremembo gesla. nastavitev kot ločen funkcijski blok, ki ga je mogoče kapsulirati v feature modul. Ima svoje neodvisne poti, poti za strani profila in gesel pa je mogoče nastaviti kot podpoti.

V modulu SettingsModule uporabljamo metodo forChild(), ker SettingsModule ni glavni modul naše aplikacije.

Druga pomembna razlika je, da glavno pot modula SettingsModule nastavimo na prazno pot (''). Ker če nastavimo pot na /settings, se bo ujemala z /settings/settings. Z določitvijo prazne poti se ujema s potjo /settings.

Leno nalaganje: nakladanjeOtroci

Nastavite usmerjevalne informacije modula nastavitev v korenskem modulu AppModule:

Tukaj se uporablja lastnost lenobnega nalaganja LoadChildren. Namesto uvoza SettingsModule v AppModule, lastnost loadChildren naroči Angular route, naj naloži modul SettingsModule glede na pot, ki jo določa lastnost loadChildren. To je specifična uporaba funkcije lenobnega nalaganja modula: ko uporabnik dostopa do poti /settings/**, se naloži ustrezni modul SettingsModule, kar ob zagonu aplikacije zmanjša velikost naloženega vira.

loadVrednost nepremičnine otrok je sestavljena iz treh delov:

Potrebne so relativne poti za uvoz modulov

#分隔符

Izvozite ime razreda modula

Modul CommonModule

Omenil sem, da želim uvesti modul CommonModule v modul značilnosti, vendar sprva nisem opazil, da ga želim uvesti v modul funkcionalnosti, zato je bila napaka strani med usmerjanjem prijavljena:



core.es5.js:1020 ERROR Error: Uncaught (in promise): Error: Template parse errors:
Ne morem se vezati na 'ngClass', ker ni znana lastnost 'div'.

Ne morem vezati na 'ngForOf', ker to ni znana lastnost 'p'.

Lastnost, ki veže ngForOf, ni uporabljena z nobeno direktivo na vgrajeni predlogi. Poskrbite, da je ime lastnosti pravilno zapisano in da so vse direktive navedene v "@NgModule.declarations".

Ne morem vezati na 'ngIf', ker to ni znana lastnost 'div'.

......
Kup takšnih napak se zdi, kot da so direktive kot 'ngClass', 'ngFor' in 'ngIf' nedefinirane.

Po dolgem preverjanju sem ugotovil, da je razlog v tem, da CommonModule nisem uvedel v feature modulu, in po uvedbi so te napake izginile.

CommonModule ponuja številne pogosto uporabljene ukaze v aplikacijah, vključno z NgIf in NgFor. Natančneje, direktive, kot je NgFi, so deklarirane v CommonModule iz @angular/common.

Modul BrowserModule smo uvozili v korenski modul AppModule, ki je uvozil CommonModule in ga ponovno izvozil. Končni rezultat je, da če uvozite BrowserModule, boste samodejno dobili navodila v CommonModule.

Uvoz BrowserModula omogoči, da so vse komponente, direktive in cevovodi, ki jih modul razkriva, dostopni neposredno v katerikoli predlogi komponente pod AppModulom brez dodatnih dolgočasnih korakov. Vendar BrowserModule ne uvozite v noben drug modul. Feature module in lenobno nalaganje modulov je treba namesto tega uvoziti v CommonModule. Ne zahtevajo ponovne inicializacije celotnega ponudnika na ravni aplikacije. Če uvozite BrowserModule v lenobnem modulu za nalaganje, Angular sproži napako.



To so nekatere težave in povzetki, s katerimi sem se srečal v zadnjih dveh dneh z uporabo Angular podpoti in lenobnega nalaganja.





Prejšnji:Poglobljena analiza Java Web Technology Insider Revised PDF HD
Naslednji:Deset stopenj programerja Kateri stopnji pripadate?
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com