Angular приложение — это дерево компонентов. Когда в одном из компонентов что-то меняется (в результате изменений в DOM, работы таймаутов, интервалов, промисов, http запросов), то Angular проверяет все компоненты приложения. Это может отрицательно влиять на производительность. В этом уроке мы рассмотрим стратегию обнаружения изменений.
Чтобы предотвратить лишние проверки, необходимо в декораторе @Component указать стратегию изменений OnPush.
По умолчанию устанавливается стратегия ChangeDetectionStrategy.Default
Также разработчик может сам управлять запуском или отключением обнаружения изменений. Для этого в Angular есть класс ChangeDetectorRef c методами для управления запуском/отключением проверки изменений.
Код урока - http://kamil-abzalov.ru/videouroki/javascript/angular-change-detection/