我想知道为什么我不能这样做:
export class TopBannerModule {
static forRoot<T>(): ModuleWithProviders {
return {
ngModule: TopBannerModule,
providers: [
{ provide: AppNavigationServiceToken, useClass: T]
};
}
}
"T"仅指类型,但在此处用作值
但是useClass
期待一种类型。
有可能在这里的工厂上使用仿制药吗?
正如@edric所述,我们需要一个类型参数
export class TopBannerModule {
static forRoot(typeOfAppNavigationService: typeof AppNavigationService): ModuleWithProviders {
return {
ngModule: TopBannerModule,
providers: [
{ provide: AppNavigationServiceToken, useClass: typeOfAppNavigationService]
};
}
}