Hur kan jag extrahera mina AngularJS-konstanter till en Typescript-funktion?
Min kod har följande:
.service('testService', TestService)
.service('userService', UserService)
.constant("appConstant", {
appName: "My App",
appVersion: 2.0,
baseUrl: "http://localhost:3048",
Action: {
None:0,
Registering: 1,
Authenticating: 2
}
});
Finns det ett sätt jag kan extrahera det konstanta objektet till en annan .ts-fil och inkludera det?
Svar #1
Ja. Du kan ha konfigurationen i en extern fil. Det enklaste sättet skulle vara att göra något liknande detta:
class Constants
{
static get Default():any {
return {
appName: "My App",
appVersion: 2.0,
baseUrl: "http://localhost:3048",
Action: {
None:0,
Registering: 1,
Authenticating: 2
}
};
}
}
Och sedan kan du komma åt det via Constants.Default. Så din konstantmetod i Angular skulle se ut så här:
.constant("appConstant", Constants.Default);
Ett mer TypeScript-sätt skulle vara att returnera typer istället för objektet i default()-gettern. Så du kan gå vidare och refaktorera mitt exempel för att göra det om du vill.
