Як працює змінна $implicit у контексті шаблону?
В Angular $implicit - це спеціальна змінна контексту шаблону, яка використовується для передавання «неявного» значення в ng-template або структурну директиву, коли не хочеться явно вказувати ім'я змінної.
Основні моменти
- Використання з
ng-template:
html
<ng-template #tpl let-user>
<p>{{ user.name }}</p>
</ng-template>- Тут
let-userотримує значення з контексту. - Якщо контекст переданий через
$implicit, ім'я змінної можна опустити:
ts
<ng-container *ngTemplateOutlet="tpl; context: { $implicit: currentUser }"></ng-container>- У шаблоні
let-userавтоматично отримає значенняcurrentUser.
- Застосування:
$implicitзручний, коли шаблон очікує одне основне значення, щоб не створювати явне ім'я.- Дозволяє писати шаблон універсально, не прив'язуючись до конкретного імені властивості.
- Приклад з директивою:
html
<ng-template let-item>
<p>{{ item }}</p>
</ng-template>
<ng-container *ngFor="let i of items; let t = tpl">
<ng-container *ngTemplateOutlet="tpl; context: { $implicit: i }"></ng-container>
</ng-container>iавтоматично стає$implicitу шаблоні, доступним черезlet-item.
Іншими словами, $implicit - це «неявна» змінна для передавання основного значення в шаблон, яка дозволяє зробити шаблони більш універсальними та зручними.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.