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

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

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

学习

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

更多

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

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
Angular 核心/课时/综合练习
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综合练习

综合练习

课程列表 HttpClient 迷你应用。

40 分钟

综合练习

整合本 track:课程列表 + Router + HttpClient + Reactive Form,模拟企业 B 端迷你应用。完成后读 Angular 项目会轻松许多;CodeRoadMap platform 仍基于 Next.js 核心 + React 核心,admin 用 Vue 3 核心。

学习目标

  • 独立完成多文件 Standalone Angular 小应用
  • 串联路由、Service、HttpClient 与表单
  • 对照 Vue/React Todo 理解概念迁移

核心内容

功能要求

路由功能
/课程 track 列表,loading / error 三态
/tracks/:slug详情页,显示 title 与 description
/tracks/new新增 track 表单,POST 后跳列表
  • TrackService:list()、getBySlug()、create(),对接 Spring Boot /api/tracks 或 mock
  • authGuard(可选):/tracks/new 需登录

Service 骨架

@Injectable({ providedIn: "root" })
export class TrackService {
  private http = inject(HttpClient);

  list() { return this.http.get<Track[]>("/api/tracks"); }
  getBySlug(slug: string) { return this.http.get<Track>(`/api/tracks/${slug}`); }
  create(body: CreateTrackDto) { return this.http.post<Track>("/api/tracks", body); }
}

列表页片段

@Component({
  standalone: true,
  imports: [RouterLink, AsyncPipe],
  template: `
    @if (tracks$ | async; as tracks) {
      <ul>
        @for (t of tracks; track t.slug) {
          <li><a [routerLink]="['/tracks', t.slug]">{{ t.title }}</a></li>
        }
      </ul>
    } @else { <p>加载中…</p> }
    <a routerLink="/tracks/new">新增</a>
  `,
})
export class TrackListComponent {
  tracks$ = inject(TrackService).list().pipe(catchError(() => of([])));
}

验收清单

  • ng serve 可访问三路由;直接输入 URL 不白屏
  • HttpClient 失败时有 error UI 与重试
  • 表单校验:slug 仅小写连字符
  • 延伸:interface Track(TypeScript 核心)、Interceptor 加 Token

练习

  • 完成 mini 应用并 ng build 通过
  • 写 200 字对比 Angular 与 Vue 实现同一列表页的差异
  • 小结

    Angular track 收官:CLI + 组件 + DI + HttpClient + Router + Forms。 主栈请回 Next.js + Spring Boot;企业 Angular 岗位可继续 NG-ZORRO 与 NgRx。

    加载本节练习…
    ← 上一课Angular vs React/Vue