Сначала проверьте привязку шаблона и выполнение callback, затем механизм уведомления Angular об изменении: OnPush, zoneless или выход за Angular zone.
Представьте сценарий: к вам как к более опытному разработчику приходит джун с задачей - создать Angular-компонент с полем для отображения токена и кнопкой 'создать токен'. По нажатию кнопки отправляется запрос на сервер, приходит токен, и джун пишет this.token = строка, которая пришла, но значение не отображается и страница не перерисовывается. Что бы вы посоветовали для решения этой проблемы и какие вообще есть подходы к её исправлению?
Сначала проверьте привязку шаблона и выполнение callback, затем механизм уведомления Angular об изменении: OnPush, zoneless или выход за Angular zone.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Сначала проверьте привязку шаблона и выполнение callback, затем механизм уведомления Angular об изменении: OnPush, zoneless или выход за Angular zone.
Обычное присваивание поля не во всех режимах инициирует проверку. Можно хранить значение в читаемом шаблоном signal, использовать Observable с AsyncPipe либо вызвать markForCheck после изменения. В приложении с Zone.js для внешнего callback бывает нужен NgZone.run. detectChanges — точечный инструмент, а не обязательный вызов после каждого запроса. Сам токен не выводите в диагностические логи.
Источник: angular.dev.