Sitelet https://github.com/angular/angular/pull/70320
Skip to content

refactor(router): add component input binding support for router resources - #70320

Merged
leonsenft merged 2 commits into
angular:mainfrom
atscott:resourcestackbinding
Aug 25, 2026
Merged

refactor(router): add component input binding support for router resources#70320
leonsenft merged 2 commits into
angular:mainfrom
atscott:resourcestackbinding

Conversation

@atscott

@atscott atscott commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Integrates component input binding (via withComponentInputBinding()) with router resources.

When both features are enabled:

  • For blocking resources, creates an effect that binds the resource's unwrapped value (resource.value()) to matching component inputs as it updates.
  • For non-blocking resources, passes the Resource object itself to matching component inputs, allowing components to track the resource's reactive signals directly.
  • Resolves key collisions with precedence: resources > resolvers > data > params > queryParams.
  • Cleans up resource binding effects when outlets deactivate or change components.

@ngbot ngbot Bot added this to the Backlog milestone Aug 20, 2026
@atscott atscott changed the title Resourcestackbinding resource input binding Aug 20, 2026
@atscott
atscott force-pushed the resourcestackbinding branch from 364da5a to a886719 Compare August 24, 2026 19:12
@atscott atscott changed the title resource input binding refactor(router): add component input binding support for router resources Aug 24, 2026
@atscott atscott added the target: patch This PR is targeted for the next patch release label Aug 24, 2026
…urces

Integrates component input binding (via `withComponentInputBinding()`) with router resources.

When both features are enabled:
- For blocking resources, creates an `effect` that binds the resource's unwrapped value (`resource.value()`) to matching component inputs as it updates.
- For non-blocking resources, passes the `Resource` object itself to matching component inputs, allowing components to track the resource's reactive signals directly.
- Resolves key collisions with precedence: `resources` > `resolvers` > `data` > `params` > `queryParams`.
- Cleans up resource binding effects when outlets deactivate or change components.
@atscott
atscott force-pushed the resourcestackbinding branch 2 times, most recently from 51a23d0 to 5e922b6 Compare August 24, 2026 19:30
@atscott
atscott marked this pull request as ready for review August 24, 2026 19:32
@atscott
atscott requested a review from leonsenft August 24, 2026 19:32
Comment thread packages/router/src/router_resource.ts
Comment thread packages/router/src/directives/router_outlet.ts
@atscott
atscott force-pushed the resourcestackbinding branch from 5e922b6 to c3a8b96 Compare August 24, 2026 23:04
@atscott atscott added the action: merge The PR is ready for merge by the caretaker label Aug 25, 2026
@leonsenft
leonsenft merged commit df83a34 into angular:main Aug 25, 2026
25 checks passed
@leonsenft

Copy link
Copy Markdown
Contributor

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

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: router target: patch This PR is targeted for the next patch release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants