Daugiau
Kaip "Angular 2" / "Typescript" sistemoje deklaruoti globalųjį kintamąjį?
Norėčiau, kad kai kurie kintamieji būtų pasiekiami visur Angular 2
kalba Typescript
. Kaip turėčiau tai padaryti?
158
3
Čia pateikiamas paprasčiausias sprendimas be
Service
irObserver
:Įrašykite globalius kintamuosius į failą ir eksportuokite juos.
Norėdami naudoti globaliuosius kintamuosius kitame faile, naudokite
importo
teiginį: ```import * as myGlobals from './globals';````Pavyzdys:
Geriausias būdas - bendroji paslauga
Tačiau registruodami ją turite būti labai atsargūs, kad galėtumėte dalytis vienu egzemplioriumi su visa programa. Ją reikia apibrėžti registruojant programą:
bet ne apibrėžti jį dar kartą savo komponentų
providers
atributuose:Priešingu atveju komponentui ir jo subkomponentams bus sukurtas naujas jūsų paslaugos egzempliorius.
Galite peržiūrėti šį klausimą apie tai, kaip "Angular2" veikia priklausomybių injekcija ir hierarchiniai injektoriai:
Galite pastebėti, kad tarnyboje taip pat galite apibrėžti
Observable
savybes, kad praneštumėte savo programos dalims, kai pasikeičia jūsų globalios savybės:Daugiau informacijos rasite šiame klausime:
Pavyzdžiui, žr. https://stackoverflow.com/questions/35993778/angular-2-implementation-of-shared-services.
arba pateikite atskiras reikšmes