Routing
Priority: P0 (CRITICAL)
1. Lazy Load All Feature Routes
- Use
loadComponent(standalone) orloadChildren(route file) for every feature route.
See routing patterns for lazy loading and guard examples.
2. Use Functional Guards
- Create function-based guards (
CanActivateFn) instead of deprecated class-based guards.
See routing patterns for functional guard implementation.
3. Enable Component Input Binding
- Configure
withComponentInputBinding()inprovideRouter(routes, withComponentInputBinding()). - Define
input.required<string>()in components — Angular auto-maps route params, query params, and resolve data.
4. Configure Resolvers and Titles
- Create
ResolveFn<T>to pre-fetch critical data before navigation. - Provide a custom
TitleStrategyor usetitle: 'Dashboard'in route data.
Anti-Patterns
- No logic in route config: Move access control and data fetching to dedicated Guards and Resolvers.
- No eager feature imports: Use
loadComponentorloadChildrenfor all feature routes.