Personal Blog

Angular injecting service into configureable module

Thu 26 Sep 2019

module injecting Service into angular module: forRoot()

ErrorHandlerModule.forRoot({
  loader: {
    provide: ErrorHandlerService,
    useClass: AWSErrorHandlerService,
  },
}),
@NgModule()
export class ErrorHandlerModule {
  static forRoot(config?: ErrorHandlerConfig): ModuleWithProviders {
    return {
      ngModule: ErrorHandlerModule,
      providers: [
        { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },
        config ? config.loader : ErrorHandlerService,
      ],
    };
  }
}