Angular 11将URL注入服务
我有两层服务,希望使用Angular(版本11)注入重构它们Angular 11将URL注入服务,angular,typescript,dependency-injection,angular-injector,Angular,Typescript,Dependency Injection,Angular Injector,我有两层服务,希望使用Angular(版本11)注入重构它们 一个基本服务,它调用后端,并具有一系列关于如何处理数据和安全性的逻辑。以下是构造器: 具体的服务,基本上是配置新的基本服务,并将组件的所有调用委托给基本服务: 问题:由于每个特定的服务实际上做的不多,如何使用注入来重构上述设置?在父模块上为API\u BASE\u URL创建一个提供程序 export function getBaseUrl(): string { return AppConsts.baseUrl; } @NgM
问题:由于每个特定的服务实际上做的不多,如何使用注入来重构上述设置?在父模块上为
API\u BASE\u URL创建一个提供程序
export function getBaseUrl(): string {
return AppConsts.baseUrl;
}
@NgModule({
declarations: [AppComponent],
imports: [BrowserModule],
providers: [{ provide: API_BASE_URL, useFactory: getBaseUrl }],
bootstrap: [AppComponent]
})
export class AppModule {}
然后定义一个具有静态属性的AppConsts类
export class AppConsts {
static baseUrl = "your_api_base_url";
}
您只需执行constructor(public url:string)
export function getBaseUrl(): string {
return AppConsts.baseUrl;
}
@NgModule({
declarations: [AppComponent],
imports: [BrowserModule],
providers: [{ provide: API_BASE_URL, useFactory: getBaseUrl }],
bootstrap: [AppComponent]
})
export class AppModule {}
export class AppConsts {
static baseUrl = "your_api_base_url";
}