Angular: From Zero to Expert

Angular: From Zero to Expert

Angular Content Projection Has a Real Design Problem

Content projection in simple words: Angular assigns projected nodes to slots once, when it creates the component.

Amos Isaila's avatar
Amos Isaila
Aug 30, 2026
∙ Paid
Angular Content Projection Has a Real Design Problem

Look how simple is content projection in Angular:

<app-card>
  <card-title>Signals and forms</card-title>
  <p>The body of the card.</p>
</app-card>

The card decides where each node goes:

<header>
  <ng-content select="card-title" />
</header>

<section>
  <ng-content />
</section>

This works well until the projected content becomes conditional, deferred, repeated, or dynamically created. Then we run into fallback content that never appears, ngProjectAs workarounds, awkward TemplateRef APIs, and projectableNodes arrays that require knowledge of a component’s internal slot order.

The Angular team is now collecting these cases in Canonical: Content Projection — issue #64504. The important point is that Angular does not see them as separate bugs. They are consequences of the same underlying model.

User's avatar

Continue reading this post for free, courtesy of Amos Isaila.

Or purchase a paid subscription.
© 2026 Amos Isaila · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture