Skip to content

Commit 29cea87

Browse files
committed
feat(challenge 58): implement content projection for title and message with condition
1 parent 543770b commit 29cea87

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

apps/angular/58-content-projection-condition/src/app/card.component.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,26 @@
1+
import { NgTemplateOutlet } from '@angular/common';
12
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
23

34
@Component({
45
selector: 'app-card',
6+
imports: [NgTemplateOutlet],
57
template: `
6-
@if (small()) {
8+
<ng-template #titleTemplate>
79
<ng-content select="[title]" />
10+
</ng-template>
11+
<ng-template #messageTemplate>
812
<ng-content select="[message]" />
13+
</ng-template>
14+
15+
@if (small()) {
16+
<ng-container *ngTemplateOutlet="titleTemplate"></ng-container>
17+
<ng-container *ngTemplateOutlet="messageTemplate"></ng-container>
918
} @else {
1019
<div class="p-4">
1120
<div class="text-2xl">
12-
<ng-content select="[title]" />
21+
<ng-container *ngTemplateOutlet="titleTemplate"></ng-container>
1322
</div>
14-
<ng-content select="[message]" />
23+
<ng-container *ngTemplateOutlet="messageTemplate"></ng-container>
1524
</div>
1625
}
1726
`,

0 commit comments

Comments
 (0)