Я хочу добавить инъекцию в инъекцию, которая расширяет абстрактный класс. Но либо мои зависимости не определены, либо сам класс не определен. Класс работал нормально, прежде чем я добавил stepRouter, поэтому я предполагаю, что это проблема с этим классом где-то.
Сначала у меня возникла проблема, из-за которой мои зависимости были неопределенными и натыкались на https://github.com/angular/angular/issues/5155, и я увидел, что мне также нужно было классифицировать super. Но при вызове super сам класс остался неопределенным.
примечание: я удалил весь контент из классов и просто оставил все конструкторы и декораторы
Ошибка: ReferenceError: InstallationWizard не определен
Класс, который я пытаюсь использовать.
Если я удалю конструктор из этого класса, ошибка исчезнет, но все свойства будут неопределенными.
@Injectable()
export class InstallationWizard extends Wizard {
constructor(
protected storage: Storage,
protected toaster: Toaster,
protected projectApi: ProjectApi,
protected formApi: FormApi,
public stepRouter: InstallationStepRouter
) {
super(storage, toaster, projectApi, formApi, stepRouter)
}
}
Абстрактный класс мастера
export abstract class Wizard {
constructor(
protected storage: Storage,
protected toaster: Toaster,
protected projectApi: ProjectApi,
protected formApi: FormApi,
public stepRouter: StepRouter
) {
this.pictures = new Array<PictureInterface>();
}
}
Шаг установки роутера
@Injectable()
export class InstallationStepRouter extends StepRouter {
}
Абстрактный класс, расширяемый
export abstract class StepRouter {
}