AGENT SKILL
angular-routing
Standards for Angular Router, Lazy Loading, and Guards. Use when configuring Angular routes, lazy-loaded modules, route guards, or resolvers. (triggers: *.routes.ts, angular router, loadComponent, canActivate, resolver)
- License 许可
- MIT
- 最近更新
- 2026-06-24
- Stars
- ★ 66
- Forks
- 24
01 前言 Front Matter
- name
- angular-routing
- description
- Standards for Angular Router, Lazy Loading, and Guards. Use when configuring Angular routes, lazy-loaded modules, route guards, or resolvers. (triggers: *.routes.ts, angular router, loadComponent, canActivate, resolver)
02 资源文件 57
- 参考文档README.md14.0 KB
- 参考文档references/agent_delegation_pattern.md2.7 KB
- 参考文档references/agent_review_workflow.md2.7 KB
- 参考文档references/agent_skill_roots_contract.md2.5 KB
- 参考文档references/agents/agent_registry.json1.7 KB
- 参考文档references/agents/agent_registry.json.SOURCE.md1.0 KB
- 脚本references/agents/agent_result_classifier.mjs2.7 KB
- 脚本references/agents/agent_runner.mjs36.3 KB
- 参考文档references/agents/prompt_templates/modes/context.md2.5 KB
- 参考文档references/agents/prompt_templates/modes/story.md4.0 KB
- 参考文档references/clean_code_checklist.md2.3 KB
- 参考文档references/cross_reference_validation.md4.1 KB
- 参考文档references/dependency_validation.md4.7 KB
- 参考文档references/destructive_operation_safety.md4.3 KB
- 参考文档references/documentation_creation.md4.3 KB
- 参考文档references/domain_patterns.md4.9 KB
- 参考文档references/environment_state_contract.md2.3 KB
- 参考文档references/epistemic_protocol.md3.4 KB
- 参考文档references/evaluation_coordinator_runtime_contract.md3.6 KB
- 参考文档references/evaluation_parallelism_policy.md1.7 KB
- 参考文档references/evaluation_research_contract.md2.0 KB
- 参考文档references/evaluation_summary_contract.md1.8 KB
- 参考文档references/input_resolution_pattern.md1.9 KB
- 参考文档references/loop_health_contract.md2.4 KB
- 参考文档references/meta_analysis_protocol.md1.5 KB
- 参考文档references/penalty_points.md4.2 KB
- 参考文档references/phase2_research_audit.md12.2 KB
- 参考文档references/plan_review_pipeline.md2.4 KB
- 参考文档references/premortem_validation.md6.3 KB
- 参考文档references/quality_validation.md4.6 KB
- 参考文档references/research_methodology.md5.4 KB
- 参考文档references/research_tool_fallback.md1.2 KB
- 参考文档references/researchgraph_mcp_usage.md2.9 KB
- 参考文档references/risk_based_testing_guide.md3.0 KB
- 参考文档references/risk_validation.md6.4 KB
- 脚本references/scripts/coordinator-runtime/lib/artifacts.mjs2.4 KB
- 脚本references/scripts/coordinator-runtime/lib/cli-helpers.mjs3.5 KB
- 脚本references/scripts/coordinator-runtime/lib/core.mjs18.6 KB
- 脚本references/scripts/coordinator-runtime/lib/loop-health.mjs7.5 KB
- 脚本references/scripts/coordinator-runtime/lib/runtime-constants.mjs3.8 KB
- 脚本references/scripts/coordinator-runtime/lib/schemas.mjs37.2 KB
- 脚本references/scripts/coordinator-runtime/lib/validate.mjs4.8 KB
- 脚本references/scripts/evaluation-runtime/cli.mjs14.1 KB
- 脚本references/scripts/evaluation-runtime/lib/guards.mjs8.8 KB
- 脚本references/scripts/evaluation-runtime/lib/store.mjs12.4 KB
- 参考文档references/solution_validation.md8.4 KB
- 参考文档references/standards_validation.md5.0 KB
- 参考文档references/storage_mode_detection.md2.0 KB
- 参考文档references/structural_validation.md7.4 KB
- 参考文档references/templates/adr_template.md2.9 KB
- 参考文档references/templates/guide_template.md3.1 KB
- 参考文档references/templates/manual_template.md4.6 KB
- 参考文档references/templates/mcp_ref_findings_template.md954 B
- 参考文档references/templates/research_template.md3.0 KB
- 参考文档references/templates/task_template_implementation.md7.9 KB
- 参考文档references/traceability_validation.md10.3 KB
- 参考文档references/workflow_validation.md6.9 KB
03 SKILL.md 正文
Routing
Priority: P0 (CRITICAL)
Principles
- Lazy Loading: All feature routes MUST be Lazy load all features with loadComponent (standalone) or loadChildren (route file).
- Example:
{ path: 'dashboard', loadComponent: () => import('./features/dashboard/dashboard.component').then(m => m.DashboardComponent) }.
- Example:
- Functional Guards: Use function-based guards (CanActivateFn) instead of class-based guards (guards are deprecated).
- Example:
export const authGuard: CanActivateFn = () => inject(AuthService).isAuthenticated() ? true : inject(Router).createUrlTree(['/login']). Register in routes:{ canActivate: [authGuard] }.
- Example:
- Component Inputs: Enable withComponentInputBinding() in provideRouter(routes, withComponentInputBinding()) to define input.required<string>() in components. Angular auto-maps route params, query params, and resolve data to matching inputs.
Guidelines
- Title Strategy: Provide a custom TitleStrategy service (extending
TitleStrategyand overriding updateTitle(snapshot)) or use simple title: 'Dashboard' in route data. - Resolvers: Create a ResolveFn<User> (e.g., inject(UserService).getUser(route.paramMap.get('id'))) to pre-fetch critical data before navigation completes (resolve: { user: userResolver }). Avoid blocking UI too long.
Anti-Patterns
- No logic in route config: no logic inside route config. Move guards for access control and data fetching to dedicated Guards and Resolvers.
- No eager feature imports: Use
loadComponentorloadChildrenfor all feature routes.