У меня есть базовый класс (обычный класс TS без @Injectable()
декоратора), который будет расширен в классе обслуживания (инъекция). Но проблема в том, что Angular принимает параметры конструктора как инъекцию зависимостей. И это дает мне ошибку, так как базовый класс не является инъекционным.
Я хотел бы иметь что-то вроде этого:
class BaseClass {
private param1: OtherBaseClass;
constructor(param1: OtherBaseClass) {
// Extended class should give reference to the injected service
this.param1 = param1;
}
}
@Injectable({ providedIn: 'root' })
class ExtendedBaseClass {
constructor(private extendedOtherBaseClass: ExtendedOtherBaseClass) {
super(extendedOtherBaseClass);
}
}
Конечно, отключение DI должно влиять только на базовые классы, а не на все приложение.
Это возможно?
Создание базовых классов для инъекций не вариант, так как я не смогу перезаписать методы в расширенном классе.