Я пытаюсь сделать какое-то наследство над некоторыми услугами, которые у меня есть.
Я действительно не знаю, является ли это хорошей практикой или нет, так или иначе, я действительно хотел бы реорганизовать все приложение, получая новые подходы.
В любом случае, это то, что у меня есть
...............................
@Injectable()
export class ApiBaseService {
...............................
constructor(url : string, _logger : LoggerService) {
...............................
}
...............................
и детский класс
...............................
@Injectable()
export class ApiWhatEverService extends ApiBaseService {
constructor(private _http: Http) {
super(environment.apiUrl);
}
...............................
}
Дело в том, что конструкторы не совпадают из-за DI, связанного с LoggerService
Таким образом, мои мысли здесь пытаются внедрить LoggerService любым другим способом, например, используя инжектор angular, но он не работает
...............................
@Injectable()
export class ApiBaseService {
apiUrl;
_logger : LoggerService;
...............................
constructor(url : string) {
...............................
let injector = ReflectiveInjector.resolveAndCreate([
LoggerService
]);
this._logger = injector.get(LoggerService);
//IT DOESN'T GET ALL THE METHOD ASSOCIATED TO LoggerService
...............................
}
...............................
}
Буду признателен, если кто-нибудь сможет мне помочь или направить меня.
Большое спасибо заранее