Как устранить циклическую зависимость в поставщиках 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 (в бесконечной рекурсии). Что я могу сделать, чтобы это работало?

0 ответов

Другие вопросы по тегам