在Angular 2+中,可以在将服务注入组件之前对其进行配置。例如,是否可以为提供者阵列的模块中的服务提供默认设置?
我正在编写该服务,但我希望避免使用configure()
方法,并在设计时提供所述详细信息。
我已经做了一些搜索,但我可能没有正确的搜索术语,因为我没有找到答案。
非常感谢。
答案 0 :(得分:1)
您可以定义服务配置类,然后将其工厂添加到模块中的提供程序:
providers:
..., {
provide: ServiceConfig,
useFactory: serviceConfigFactory,
deps: [Foo, Bar]
}, ...
...
export function serviceConfigFactory(foo: Foo, bar: Bar): ServiceConfig {
... // build config here
}
其中Foo和Bar - 您的工厂函数可注入参数类。
然后将服务配置注入您的服务:
@Injectable()
export class YourService {
constructor (private serviceConfig: ServiceConfig)
...
}