Не очень понимаю, как правильно использовать IoC в наследовании сервисов. Есть базовый сервис:
export abstract class BaseService {
protected constructor(protected httpClient: HttpClient) {}
}
Хочу создать наследника:
export class AuthService extends BaseService {
getMember() {
return this.httpClient.get('/member');
}
}
Но не могу, т.к. свойство httpClient не найдено. В наследнике надо добавлять конструктор:
protected constructor(protected httpClient: HttpClient) { super(httpClient); }
И так в каждом наследнике. И тут наступает момент, что в BaseService надо добавить новую зависимость. И из-за этого придется во всех наследниках копипастить эту зависимость. Если брать аналогичный функционал PHP, то там конструктор пробрасывается в наследники, и не надо заниматься такой копипастой. Может я что-то не так делаю, и надо по другому наследовать конструктор?