我正在为 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();
我怎样才能做到这一点?