Представьте сценарий: к вам как к более опытному разработчику приходит джун с задачей - создать Angular-компонент с полем для отображения токена и кнопкой 'создать токен'. По нажатию кнопки отправляется запрос на сервер, приходит токен, и джун пишет this.token = строка, которая пришла, но значение не отображается и страница не перерисовывается. Что бы вы посоветовали для решения этой проблемы и какие вообще есть подходы к её исправлению?

Сначала проверьте привязку шаблона и выполнение callback, затем механизм уведомления Angular об изменении: OnPush, zoneless или выход за Angular zone.

Короткий ответ

Что ответить на собеседовании

Сначала проверьте привязку шаблона и выполнение callback, затем механизм уведомления Angular об изменении: OnPush, zoneless или выход за Angular zone.

Подробный разбор

Ответ с пояснениями

Сначала проверьте привязку шаблона и выполнение callback, затем механизм уведомления Angular об изменении: OnPush, zoneless или выход за Angular zone.

Обычное присваивание поля не во всех режимах инициирует проверку. Можно хранить значение в читаемом шаблоном signal, использовать Observable с AsyncPipe либо вызвать markForCheck после изменения. В приложении с Zone.js для внешнего callback бывает нужен NgZone.run. detectChanges — точечный инструмент, а не обязательный вызов после каждого запроса. Сам токен не выводите в диагностические логи.

Источник: angular.dev.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее