我创建了两个 Angular 库,一个将另一个作为依赖项。
需要使用 forRoot 方法配置依赖项。如何将配置数据从父库传递给它的依赖项?
例如,假设我们有TopLevelLib
,它OtherLib
作为依赖项。OtherLib 需要使用 forRoot 传递一个配置对象。
最终用户的 AppModule,导入到
@NgModule({
imports: [
TopLevelLib.forRoot(someConfigData)
],
declarations: [...],
exports: [...]
})
export class AppModule { }
TopLevelLib - 由最终用户导入 AppModule
@NgModule({
imports: [
...
OtherLib.forRoot(*****what goes in here?*****)
],
declarations: [...],
exports: [...]
})
export class TopLevelLib {
static forRoot(config: ConfigObj): ModuleWithProviders {
return {
ngModule: SampleModule,
providers: [{ provide: SomeInjectionToken, useValue: config }]
};
}
}
OtherLib - 由 TopLevelLib 导入
@NgModule({
imports: [...],
declarations: [...],
exports: [...]
})
export class OtherLib {
static forRoot(config: ConfigObj): ModuleWithProviders {
return {
ngModule: SampleModule,
providers: [{ provide: SomeInjectionToken, useValue: config }]
};
}
}
我需要将配置对象实例从 TopLevelLib 传递到 OtherLib。这样当最终用户使用 forRoot 配置 TopLevelLib 时,OtherLib 将配置相同的数据。
关于如何实现这一点的任何想法?