Що робить <ng-template>?
В Angular <ng-template> - це елемент-шаблон, який сам по собі не рендериться в DOM, але містить розмітку, яку Angular може вставляти в DOM динамічно.
Основні моменти
- Лінива загрузка/відкладений рендеринг:
html
<ng-template #tpl>
<p>Привіт, світе!</p>
</ng-template><p>не з'явиться в DOM, поки шаблон не буде явно використаний (ngTemplateOutletабо структурною директивою).
- Використання з
*ngIfта*ngFor:
- Angular під капотом перетворює ці директиви на
<ng-template>для керування вставкою елементів.
- Динамічне використання через
ngTemplateOutlet:
html
<ng-container *ngTemplateOutlet="tpl"></ng-container>- Вставляє вміст шаблону у вказане місце.
- Контекстні змінні:
html
<ng-template #tpl let-user>
<p>{{ user.name }}</p>
</ng-template>
<ng-container *ngTemplateOutlet="tpl; context: { $implicit: currentUser }"></ng-container>- Дозволяє передавати дані в шаблон через локальні змінні (
let-user), включно з$implicit.
Іншими словами, <ng-template> - це невидимий контейнер для розмітки, яку Angular може створювати та вставляти динамічно залежно від умов або даних.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.