Angular je priljubljen okvir za front-end JavaScript, ki omogoča zmogljiv način za gradnjo enostranskih aplikacij (SPA). V Angularju je Dependency Injection (DI) ključna funkcija, ki nam omogoča učinkovito upravljanje odvisnosti v naših aplikacijah. Angularjev sistem za injekcijo odvisnosti uporablja InjectionTokens za implementacijo določenih posebnih zahtev za injekcijo odvisnosti. V tem članku bom podrobno pojasnil, kaj InjectionToken počne, in podal primere za ponazoritev njegove praktične uporabe v aplikacijah Angular.
Kaj je injekcija odvisnosti?
Preden se poglobimo v InjectionToken, najprej poglejmo, kaj je injekcija odvisnosti. Vbrizgavanje odvisnosti je oblikovalski vzorec, ki nam omogoča, da vbrizgamo odvisnosti enega objekta (npr. storitve ali konfiguracije) v drug objekt, ne da bi te odvisnosti trdo kodirali. Prednosti tega vključujejo:
1. Vzdržljivost: Z vbrizgavanjem odvisnosti v komponente lahko te odvisnosti enostavno spreminjamo brez potrebe po obsežnih spremembah kode. 2. Testabilnost: Enostavno lahko zagotovimo simulirane odvisnosti za komponente za enotsko testiranje, ne da bi dejansko ustvarili primerke teh odvisnosti. 3. Ohlapno povezovanje: Injekcija odvisnosti nam pomaga doseči ohlapno povezanost, kar naredi odnose med posameznimi komponentami bolj prilagodljive.
V Angularju je vgrajeno vbrizgavanje odvisnosti, Angularjev vsebnik za vbrizgavanje odvisnosti pa je odgovoren za upravljanje ustvarjanja in življenjskega cikla odvisnosti.
Zakaj potrebujete InjectionToken?
Včasih moramo vbrizgati odvisnostiNe kot instanco razreda, temveč kot konfiguracijski element, niz ali drugo vrednost brez razreda。 Tu nastopi InjectionToken, ki nam omogoča, da v komponente ali storitve vbrizgamo ne-razredne vrednosti kot odvisnosti.
Kaj počne InjectionToken?
Vloga InjectionTokena je definirati identifikator, ki identificira odvisnosti. Omogoča nam, da v Angular komponento ali storitev vnesemo katerokoli vrednost, ne le v instanco razreda. Običajno ustvarimo InjectionToken nekje v aplikaciji in ga uporabimo tam, kjer moramo vnesti to vrednost.
Tukaj so glavne funkcije InjectionTokena:
1. Edinstvena identifikacija: InjectionToken je edinstven identifikator, ki zagotavlja edinstvenost odvisnosti. To je pomembno za preprečevanje zmede ali konfliktov v odvisnostih. 2. Injekcija odvisnosti brez razreda: InjectionToken nam omogoča, da vbrizgamo katerokoli vrednost, ne le instanco razreda. To je uporabno v scenarijih, kot so konfiguracije, konstante, nizi itd. 3. Konfiguracija ponudnika: S pomočjo konfiguracije ponudnika lahko Angularju povemo, kako zagotoviti instanco odvisnosti za InjectionToken. To nam omogoča, da v različnih kontekstih zagotovimo različne vrednosti za InjectionTokens.
Zdaj pa podrobno predstavimo uporabo in vlogo InjectionTokena z nekaj primeri.
Vbrizgaj konfiguracijo aplikacije
Na primer, vbrizgamo aplikacijsko konfiguracijo z naslovom URL in imenom okolja, koda pa je naslednja:
Iz vbrizgavanja konstruktorja je izpis naslednji:
Referenčni:
Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna. |