Angular 课程大纲

基础入门

  • Angular 简介和特性
  • TypeScript 基础
  • 环境搭建 (Node.js, npm, Angular CLI)
  • 第一个 Angular 应用
  • Angular 项目结构

组件基础

  • 组件创建和使用
  • 模板语法
  • 数据绑定
  • 生命周期钩子
  • 组件通信 (Input 和 Output)

指令

  • 内置指令 (ngIf, ngFor, ngSwitch)
  • 属性指令
  • 结构指令
  • 自定义指令

服务和依赖注入

  • 服务创建和使用
  • 依赖注入原理
  • 提供者配置
  • 服务的作用域

路由

  • 路由配置
  • 路由参数
  • 子路由
  • 路由守卫
  • 惰性加载

表单处理

  • 模板驱动表单
  • 响应式表单
  • 表单验证
  • 自定义验证器
  • 动态表单

HTTP 客户端

  • HttpClient 模块
  • 发送请求和处理响应
  • 拦截器
  • 错误处理
  • 缓存策略

RxJS 和响应式编程

  • Observable 和 Observer
  • 操作符
  • Subject 类型
  • 错误处理和重试
  • 状态管理与 RxJS

模块化开发

  • NgModule 详解
  • 特性模块
  • 共享模块
  • 核心模块
  • 模块懒加载

组件进阶

  • 内容投影
  • 动态组件
  • 组件样式封装
  • Shadow DOM
  • 自定义元素

变更检测

  • 变更检测原理
  • OnPush 策略
  • 手动触发变更检测
  • 性能优化技巧

动画

  • 动画状态和转换
  • 关键帧动画
  • 路由动画
  • 复杂动画序列

国际化 (i18n)

  • 文本翻译
  • 日期、数字和货币格式化
  • 运行时语言切换
  • AOT 编译和国际化

测试

  • 单元测试 (Jasmine, Karma)
  • 组件测试
  • 服务测试
  • 端到端测试 (Protractor)

Angular Universal (SSR)

  • 服务端渲染基础
  • 预渲染
  • SEO 优化
  • 转移状态

PWA 和离线功能

  • Service Worker
  • App Shell
  • 推送通知
  • 离线数据同步

状态管理

  • NgRx 基础
  • 操作、减速器和选择器
  • 效果 (Effects)
  • NGXS 和 Akita 简介

性能优化

  • AOT 编译
  • 树摇 (Tree Shaking)
  • 延迟加载
  • 预加载策略
  • 内存泄漏防治

安全性

  • 跨站脚本 (XSS) 防御
  • CSRF 保护
  • 内容安全策略 (CSP)
  • 认证和授权实践

高级主题

  • 自定义构建过程
  • Angular 库开发
  • WebAssembly 集成
  • Angular Elements

DevOps 和部署

  • CI/CD 管道设置
  • Docker 容器化
  • 云平台部署 (如 Firebase, Heroku)
  • 监控和日志

项目实战

  • 企业级应用开发
  • 实时数据仪表板
  • 移动优先的 Web 应用

Angular 生态系统

  • UI 组件库 (Material, PrimeNG)
  • 开发工具和 IDE 插件
  • Angular 社区和资源
  • 持续学习和职业发展