markForCheck помечает представление и путь к нему для последующей проверки, но не выполняет её синхронно. detectChanges запускает локальную проверку данного представления и его дочерней области.
Чем отличаются ChangeDetectorRef.markForCheck() и detectChanges()? Как они распространяют проверку по дереву компонентов?
markForCheck помечает представление и путь к нему для последующей проверки, но не выполняет её синхронно. detectChanges запускает локальную проверку данного представления и его дочерней области.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
markForCheck помечает представление и путь к нему для последующей проверки, но не выполняет её синхронно. detectChanges запускает локальную проверку данного представления и его дочерней области.
markForCheck помогает включить OnPush-ветку в очередной проход; это не команда немедленно обновить всё приложение. detectChanges не идёт проверять родителей и применяется, в частности, для локального управления detached-представлением. Отсоединённая ветка не включается автоматически в обычный проход лишь от отметки markForCheck.
Источник: angular.dev.