Angular 如何在forRoot中使用配置数据
我不知道如何使用Angular 如何在forRoot中使用配置数据,angular,Angular,我不知道如何使用forRoot 在我的应用程序中,我正在AppComponent的ngOnInit中配置databaseService: this.databaseService.addDatabaseData(databaseData) 我想使用forRoot更好,但我不知道怎么做。 如何在for root中使用配置数据 app.module: @NgModule({ imports: [ DatabaseModule.forRoot(databaseData),
forRoot
在我的应用程序中,我正在AppComponent
的ngOnInit
中配置databaseService
:
this.databaseService.addDatabaseData(databaseData)代码>
我想使用forRoot
更好,但我不知道怎么做。
如何在for root
中使用配置数据
app.module:
@NgModule({
imports: [
DatabaseModule.forRoot(databaseData),
]
});
数据库模块
export class DatabaseModule {
static forRoot(databaseData: any): ModuleWithProviders {
/**
* How to use databaseData?
* this.databaseService.addDatabaseData(databaseData);
*/
return {
ngModule: DatabaseModule,
providers: [
DatabaseService
]
};
}
}
使用工厂
providers: [
{
provide: DatabaseService,
useFactory: () => {
const service = new DatabaseService();
service.addDatabaseData(databaseData)
return service;
}
}
]
如果DatabaseService
需要注入依赖项,那么您可以这样做
providers: [
Any,
Dependencies,
{
provide: DatabaseService,
deps: [ Any, Dependencies ],
useFactory: (any: Any, dependencies: Dependencies) => {
const service = new DatabaseService(any, dependencies);
service.addDatabaseData(databaseData)
return service;
}
}
]