vlad-74
12/24/2019 - 11:08 AM

TS КОМПОНЕНТ OnPush

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();  // запустить обнаружение изменений в компоненте и его потомках

}