0 day streak
javascript / expert
Snippet

Type-Safe Component Input Mapping via Route Definitions

By enabling 'withComponentInputBinding', Angular automatically maps path parameters, query parameters, and static data from the route configuration directly to component Signal Inputs. This architectural pattern decouples components from the ActivatedRoute service, facilitating easier testing and enforcing type safety for data passed through the router.

snippet.js
javascript
1
2
3
4
5
6
7
8
// In app.config.ts
provideRouter(routes, withComponentInputBinding());
// In route-target.component.ts
export class DetailComponent {
id = input.required<string>(); // Mapped from :id path param
role = input<string>(); // Mapped from static route data
}
angular
Breakdown
1
provideRouter(routes, withComponentInputBinding());
Enables the feature that bridges route parameters to component inputs.
2
id = input.required<string>();
Declares a mandatory input that Angular will populate from the route's ':id' segment.