Метод
ChangeDetectorRef.detach() позволяет отключить компонент от системы обнаружения изменений. Это полезно, если компонент не должен отслеживать изменения постоянно. После вызова detach() Angular перестанет проверять компонент и его потомков на изменения, пока вы не вызовете обновление вручную через detectChanges().Пример:
import { ChangeDetectorRef, Component } from '@angular/core';
@Component({
selector: 'app-performance',
template: `<div>{{ counter }}</div>`
})
export class PerformanceComponent {
counter = 0;
constructor(private cdr: ChangeDetectorRef) {}
ngOnInit() {
this.cdr.detach(); // Отключаем отслеживание изменений
setInterval(() => {
this.counter++; // Обновляем данные
this.cdr.detectChanges(); // Вручную запускаем проверку изменений
}, 1000);
}
}В этом примере
ChangeDetectorRef.detach() отключает систему обнаружения изменений, а вызов detectChanges() вручную обновляет интерфейс. 👉 @sWebDev
