Hoe kan ik een globale variabele declareren in Angular 2 / Typescript?
Ik zou graag willen dat sommige variabelen overal toegankelijk zijn in een Angular 2
in de Typescript
taal. Hoe moet ik dit bereiken?
158
3
Hier is de eenvoudigste oplossing zonder
Service
ofObserver
:Zet de globale variabelen in een bestand en exporteer ze.
Om globals in een ander bestand te gebruiken gebruik je een
import
statement: ```import * as myGlobals from './globals';````Voorbeeld:
Een gedeelde dienst is de beste aanpak
Maar je moet heel voorzichtig zijn bij het registreren om een enkele instantie te kunnen delen voor je hele applicatie. Je moet dit definiëren wanneer je je applicatie registreert:
maar niet opnieuw definiëren in de
providers
attributen van je componenten:Anders zal een nieuwe instantie van je service worden aangemaakt voor de component en zijn subcomponenten.
Je kunt deze vraag bekijken over hoe dependency injection en hiërarchische injectors werken in Angular2:
U kunt opmerken dat u ook
Observable
eigenschappen in de service kunt definiëren om delen van uw applicatie op de hoogte te brengen wanneer uw globale eigenschappen veranderen:Zie deze vraag voor meer details:
Zie bijvoorbeeld https://stackoverflow.com/questions/35993778/angular-2-implementation-of-shared-services
of geef individuele waarden