私は Angular 2 のライブラリ サービスを作成しています。呼び出し元のアプリケーションが何らかの構成を提供できるようにしたいと考えています。基本クラスで抽象プロパティを作成することもできましたが、これにより、呼び出し元のアプリケーションが複数の場所で構成を定義しなければならなくなります。
Angular2 アプリケーション内では、メイン アプリケーション モジュールでこのような手法を使用します
let config: any = { param1: 'value 1', param2: 'value 2' };
@NgModule({
providers: [ {provide: 'app.config', useValue: config } ]
})
その後、 @Inject('app.config') を使用して、必要な場所に構成を挿入できます。ただし、私が書いているライブラリは拡張する基本クラスを定義しているため、呼び出し元のアプリケーションが値を注入して super() 経由で転送する必要があるため、この値をコンストラクターに注入したくありません。
ReflectiveInjector クラスを見てきましたが、文字列ではなく型が必要です。
let appConfig = ReflectiveInjector.resolve('app.config').get();
どうすればこれを達成できますか?