Как устранить циклическую зависимость в поставщиках Angular 2
У меня есть несколько разных сервисов, которые расширяют другой сервис:
BaseService {
display(message: string): void { }
}
BetterService {
constructor(private base: BaseService) { }
display(message: string): void {
this.base.display('Better ' + message);
}
}
Теперь я настраиваю их в AppModule так:
imports: [
DisplayModule.forRoot()
],
providers: [
{ provide: BaseService, useClass: BetterService }
]
Очевидно, что Angular терпит неудачу, потому что когда он пытается разрешить BaseService, необходимый для BetterService, он все еще использует BetterService (в бесконечной рекурсии). Что я могу сделать, чтобы это работало?