2 つの 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 が同じデータで構成されます。
これを実装する方法についてのアイデアはありますか?