У меня есть один компонент и один обычный класс TypeScript в проекте Angular. Компонент расширяет класс. Оба имеют независимый экземпляр ChangeDetectorRef. Примерно так:
import { ChangeDetectorRef } from '@angular/core';
export class MySuperClass {
private cdr: ChangeDetectorRef;
constructor() {}
// .. other code here
}
И в другом файле:
import { ChangeDetectorRef } from '@angular/core';
export class MyComponent extends {
@Component({...})
constructor(private cdr: ChangeDetectorRef) {
super();
}
// .. other code here
}
Меня смущает то, что экземпляр ChangeDetectorRef, который используется из суперкласса, работает, даже если он не внедрен и не создается явно.
Это поведение связано с природой ChangeDetectorRef или с тем, как наследование работает в TypeScript, или с чем-то совершенно другим?