Angular @if и структурный *ngIf создают или удаляют соответствующее представление, а не просто делают существующий DOM невидимым.
Как Angular-условия, например @if или *ngIf, влияют на отрисовку: скрывают ли они элементы или вообще не добавляют их в DOM?
Angular @if и структурный *ngIf создают или удаляют соответствующее представление, а не просто делают существующий DOM невидимым.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Angular @if и структурный *ngIf создают или удаляют соответствующее представление, а не просто делают существующий DOM невидимым.
При исчезновении ветки уничтожаются вложенные компоненты и запускается их очистка; при повторном появлении создаются заново. CSS display:none или атрибут hidden сохраняют DOM и экземпляры компонентов. Поэтому выбор влияет и на состояние, и на затраты.
Источник: angular.dev.