Как Angular-условия, например @if или *ngIf, влияют на отрисовку: скрывают ли они элементы или вообще не добавляют их в DOM?

Angular @if и структурный *ngIf создают или удаляют соответствующее представление, а не просто делают существующий DOM невидимым.

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

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

Angular @if и структурный *ngIf создают или удаляют соответствующее представление, а не просто делают существующий DOM невидимым.

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

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

Angular @if и структурный *ngIf создают или удаляют соответствующее представление, а не просто делают существующий DOM невидимым.

При исчезновении ветки уничтожаются вложенные компоненты и запускается их очистка; при повторном появлении создаются заново. CSS display:none или атрибут hidden сохраняют DOM и экземпляры компонентов. Поэтому выбор влияет и на состояние, и на затраты.

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

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

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

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

Подробнее