Skip to content

docs: document content projection limitations#68826

Merged
leonsenft merged 1 commit into
angular:mainfrom
arturovt:docs/issue_49679
May 20, 2026
Merged

docs: document content projection limitations#68826
leonsenft merged 1 commit into
angular:mainfrom
arturovt:docs/issue_49679

Conversation

@arturovt
Copy link
Copy Markdown
Contributor

Add a Limitations section to the content projection guide covering two common footguns that aren't obvious from the feature description alone.

First, projected content lives in the declaring component's view, not the receiving component's. This means OnPush on the receiving component doesn't prevent projected content from being checked on every parent cycle, and projected content can't see the receiving component's viewProviders.

Second, some library components (menus, tabs, lists) use ContentChildren to wire up keyboard navigation and ARIA behavior and assume they own their children directly. Projecting external content into them tends to break that behavior silently.

Closes #49679

@pullapprove pullapprove Bot requested a review from bencodezen May 20, 2026 18:07
@angular-robot angular-robot Bot added the area: docs Related to the documentation label May 20, 2026
@ngbot ngbot Bot added this to the Backlog milestone May 20, 2026
Comment thread adev/src/content/guide/components/content-projection.md Outdated
Add a Limitations section to the content projection guide covering two
common footguns that aren't obvious from the feature description alone.

First, projected content lives in the declaring component's view, not
the receiving component's. This means OnPush on the receiving component
doesn't prevent projected content from being checked on every parent
cycle, and projected content can't see the receiving component's
viewProviders.

Second, some library components (menus, tabs, lists) use ContentChildren
to wire up keyboard navigation and ARIA behavior and assume they own
their children directly. Projecting external content into them tends to
break that behavior silently.

Closes angular#49679
@arturovt arturovt force-pushed the docs/issue_49679 branch from 96105fb to 75beeeb Compare May 20, 2026 18:22
@JeanMeche JeanMeche added action: merge The PR is ready for merge by the caretaker target: patch This PR is targeted for the next patch release labels May 20, 2026
@JeanMeche JeanMeche removed the request for review from bencodezen May 20, 2026 18:23
@leonsenft leonsenft merged commit de9e3d1 into angular:main May 20, 2026
12 checks passed
@leonsenft
Copy link
Copy Markdown
Contributor

This PR was merged into the repository. The changes were merged into the following branches:

@arturovt arturovt deleted the docs/issue_49679 branch May 20, 2026 20:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

action: merge The PR is ready for merge by the caretaker area: docs Related to the documentation target: patch This PR is targeted for the next patch release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Documentation of Content Projection limitations

3 participants