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

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

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

学习

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

更多

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

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
Angular 核心/课时/Router
RawBlame
课时目录12 节

Angular 核心

  1. 01Angular 是什么
  2. 02CLI 与项目结构
  3. 03组件与模板
  4. 04指令
  5. 05服务与依赖注入
  6. 06HttpClient
  7. 07Router
  8. 08表单
  9. 09RxJS 入门
  10. 10Signals 新特性
  11. 11Angular vs React/Vue
  12. 12综合练习

Router

路由表、routerLink、守卫概念。

35 分钟

Router

Angular Router 为 SPA 提供客户端路由:路由表、routerLink、<router-outlet>。对照 Vue Router 的手写表与 React 核心 的 React Router;本站 platform 用 Next.js 核心 文件系统路由。

学习目标

  • 配置 Routes 与懒加载 Standalone 组件
  • 使用动态参数与编程式导航
  • 理解 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: "**", redirectTo: "" },
];

导航模板:<a routerLink="/tracks/angular-essentials">Angular</a><router-outlet />。

参数与守卫

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"]);
// { path: "admin", canActivate: [authGuard], loadComponent: ... }
Angular RouterVue RouterNext.js
定义Routes 数组JS 路由表app/ 目录
懒加载loadComponent动态 import自动
守卫CanActivateFnbeforeEachmiddleware

企业后台 /admin/* 常用守卫;本站 admin 用 Vue,platform 用 Next.js middleware。

练习

  • 增加 /lessons/:slug 路由,页面显示 slug 参数
  • 为需登录页加 authGuard

小结

下一课表单。

routerLink 导航,router-outlet 出口,Guard 管权限。
加载本节练习…
← 上一课HttpClient下一课 →表单