我正在尝试根据平台类型提供其他提供商
app.module.ts:
const STORAGE = new InjectionToken<StorageInterface>('StorageInterface');
@NgModule({
providers: [
{
provide: STORAGE,
useFactory: getStorage,
multi: true,
deps: [
PLATFORM_ID
]
},
]
});
export function getStorage(platoformId: Object) {
if (isPlatformServer(platoformId)) {
return new ServerStorageService();
}
return new LocalStorageService();
}
我正在使用STORAGE服务的班级
constructor(@Inject(STORAGE) private storage: StorageInterface){
console.log(this.storage); // [LocalStorageService] -_-"
}
如何在其他组件/服务中使用该提供程序? 我写错什么了吗?