Reputation: 41
template:
<div class="widget-content">
<ng-container
[ngTemplateOutlet]="contentTemplate || defaultWidgetContent"
[ngTemplateOutletContext]="{ $implicit: state }"
></ng-container>
<ng-template #defaultWidgetContent>
<div class="sky-condition">{{ state.data.skyCondition === 'sunny' ? '☀️' : '☁️' }}</div>
<div class="temperature">{{state.data.temperature}}°C</div>
</ng-template>
</div>
component:
@Input() contentTemplate!: TemplateRef<{ $implicit: WidgetState }>;
Here, we can use
TemplateRef<{ $implicit: WidgetState }>
and
TemplateRef<WidgetState>
I know what is $implicit, but I do not get their difference
Both versions are equivalent and functionally the same.
Is TemplateRef<{ $implicit: WidgetState }>
a bit more expressive version of TemplateRef< WidgetState>
?
that's all?
Tutorial: https://www.youtube.com/watch?v=vfPVdJ2oQlM
Upvotes: 0
Views: 82
Reputation: 26
Yes, you are right:
TemplateRef<{ $implicit: WidgetState }>
is a bit more expressive version of TemplateRef<WidgetState>
.Upvotes: 1