TS КОМПОНЕНТ OnPush
// 1. Изменилась ссылка input параметра
// 2. Событие внутри компонента или его потомках
// 3. Ручной запуск обнаружения изменений - constructor(private cdr: ChangeDetectorRef) - this.cdr.detectChanges();
import { ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';
@Component({
selector: 'chat-header',
templateUrl: './chat-header.component.html',
styleUrls: ['./chat-header.component.less'],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class ScrollBlockComponent {
constructor(private cdr: ChangeDetectorRef) {}
// this.cdr.markForCheck(); // не триггерит запуск обнаружения изменений. Вместо этого он помечает компонент и всех его родителей, что они должны быть проверены в текущем или следующем цикле обнаружения изменений
// this.cdr.detectChanges(); // запустить обнаружение изменений в компоненте и его потомках
}