CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
Angular 路线图实战/课时/Router 与懒加载
RawBlame
课时目录12 节

Angular 路线图实战

  1. 01Angular 入门与 CLI
  2. 02组件与生命周期
  3. 03模板与数据绑定
  4. 04指令与管道
  5. 05表单
  6. 06服务与依赖注入
  7. 07HttpClient 与安全
  8. 08Router 与懒加载
  9. 09RxJS 与 Signals
  10. 10SSR、测试与 i18n
  11. 11NgModule 与库
  12. 12综合练习

Router 与懒加载

路由表、Guards、Lazy Loading。

35 分钟

Router 与懒加载

路线图「Routing」:Angular Router 管理 SPA 导航:路由表、routerLink、<router-outlet>、懒加载 与 Guards。对照 React Router 的配置式路由;Next.js 核心 用 文件系统路由,概念不同但 URL → 视图映射一致。

学习目标

  • 配置 Routes 与 Standalone 懒加载组件
  • 读取动态参数 :slug 与编程式导航
  • 用 Route Guard 做登录/权限校验

核心概念

路由表与懒加载

// app.routes.ts
import { Routes } from "@angular/router";

export const routes: Routes = [
  { path: "", loadComponent: () => import("./home/home.component").then(m => m.HomeComponent) },
  {
    path: "tracks/:slug",
    loadComponent: () => import("./track-detail/track-detail.component").then(m => m.TrackDetailComponent),
  },
  { path: "tracks/new", canActivate: [authGuard], loadComponent: () => import("./track-form/track-form.component").then(m => m.TrackFormComponent) },
  { path: "**", redirectTo: "" },
];

模板:<a routerLink="/tracks/angular-roadmap-essentials">进入</a><router-outlet />

参数与 Guard

slug = inject(ActivatedRoute).snapshot.paramMap.get("slug") ?? "";
inject(Router).navigate(["/tracks", "react-essentials"]);

export const authGuard: CanActivateFn = () =>
  localStorage.getItem("token") ? true : inject(Router).createUrlTree(["/login"]);

与 React/Next 对照

Angular RouterReact RouterNext.js App Router
定义Routes 数组JSX <Routes>app/ 目录结构
懒加载loadComponentReact.lazy自动 code-split
守卫CanActivateFn包装组件middleware.ts
动态段:slug:slug[slug] 文件夹

练习

  • 增加 路由,页面显示参数
/lessons/:slug
  • 为 /tracks/new 加 authGuard
  • 小结

    routerLink 导航,router-outlet 出口,Guard 管权限,loadComponent 做懒加载。 下一课 RxJS 与 Signals。

    加载本节练习…
    ← 上一课HttpClient 与安全下一课 →RxJS 与 Signals