Angular 2, как расширить класс, который имеет инъекции зависимостей - PullRequest
0 голосов
/ 09 января 2020

У меня есть следующий класс, который я хочу расширить.

export class AngularComponent {
    constructor(
        private r: Renderer2,
        private editorService: AngularEditorService,
        @Inject(DOCUMENT) private doc: any,
        private sanitizer: DomSanitizer,
        private cdRef: ChangeDetectorRef,
        @Attribute("tabindex") defaultTabIndex: string,
        @Attribute("autofocus") private autoFocus: any
    )  
}

Поэтому я создаю следующий класс:

export class EnhancedComponent extends AngularComponent{
    constructor(private r: Renderer2, private editorService: AngularEditorService){
        super(r,editorService, ...)
    }
}

Однако я не знаю, как передать другой

@Inject(DOCUMENT) private doc: any,
@Attribute("tabindex") defaultTabIndex: string,
@Attribute("autofocus") private autoFocus: any

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 09 января 2020

Это, вероятно, должно сработать:
https://devblogs.microsoft.com/premier-developer/angular-how-to-simplify-components-with-typescript-inheritance/

В основном вы используете класс Injector для извлечения ваших инъекций вместо инъекции конструктора.

...