当前位置: 首页 > web >正文

Angular 知识框架

一、Angular 基础

1. Angular 简介

  • Angular 是什么?

    • 基于 TypeScript 的前端框架(Google 维护)。

    • 适用于构建单页应用(SPA)。

  • 核心特性

    • 组件化架构

    • 双向数据绑定

    • 依赖注入(DI)

    • 模块化设计(NgModule)

  • Angular vs AngularJS

    • Angular(2+)是完全重写的版本,不兼容 AngularJS(1.x)。

2. 开发环境搭建

  • 安装工具

    • Node.js(LTS 版本)

    • Angular CLI:npm install -g @angular/cli

  • 创建项目

    ng new my-app
    cd my-app
    ng serve

  • 项目结构

    /src/app         # 核心代码/components/services/assets      # 静态资源index.html   # 主入口

3. TypeScript 基础

  • 类型系统

    • 基本类型:stringnumberbooleanany

    • 接口(interface

    • 类(class

  • 装饰器(Decorators)

    • @Component@Injectable@Input@Output


二、Angular 核心概念

4. 组件(Components)

  • 组件结构

    @Component({selector: 'app-hello',templateUrl: './hello.component.html',styleUrls: ['./hello.component.css']
    })
    export class HelloComponent {name = 'Angular';
    }

  • 模板语法

    • 插值:{{ name }}

    • 属性绑定:[property]="value"

    • 事件绑定:(event)="handler()"

  • 生命周期钩子

    • ngOnInitngOnDestroyngAfterViewInit 等

5. 指令(Directives)

  • 内置指令

    • *ngIf(条件渲染)

    • *ngFor(循环渲染)

    • [ngClass][ngStyle](动态样式)

  • 自定义指令

    • @Directive 装饰器

6. 数据绑定

  • 单向绑定

    • 属性绑定:[value]="data"

    • 事件绑定:(click)="onClick()"

  • 双向绑定

    • [(ngModel)](需导入 FormsModule

7. 服务与依赖注入(DI)

  • 创建服务

    @Injectable({providedIn: 'root' // 全局单例
    })
    export class DataService {getData() { return [1, 2, 3]; }
    }

  • 依赖注入

    constructor(private dataService: DataService) {}

8. 路由(Routing)

  • 配置路由

    const routes: Routes = [{ path: 'home', component: HomeComponent },{ path: 'about', component: AboutComponent }
    ];

  • 路由导航

    • <router-outlet>(占位符)

    • routerLink(链接跳转)

    • Router.navigate()(编程式导航)


三、Angular 进阶

9. 表单处理

  • 模板驱动表单

    • NgModelNgForm

  • 响应式表单

    • FormGroupFormControl

    • Validators(表单验证)

10. HTTP 通信

  • HttpClient

    constructor(private http: HttpClient) {}
    getUsers() {return this.http.get<User[]>('/api/users');
    }

  • 拦截器(Interceptors)

    • 全局请求/响应处理

11. 状态管理

  • RxJS

    • ObservableSubject

    • 操作符:mapfilterdebounceTime

  • NgRx(Redux 风格)

    • StoreActionsReducers

12. 性能优化

  • 变更检测策略

    • ChangeDetectionStrategy.OnPush

  • 懒加载模块

    { path: 'admin', loadChildren: () => import('./admin.module') }

  • AOT 编译(Ahead-of-Time)

    • 提升运行时性能


四、Angular 高级

13. 国际化(i18n)

  • ng xi18n 提取翻译文本

  • 多语言切换

14. 测试

  • 单元测试

    • Jasmine + Karma

    • TestBed( Angular 测试工具)

  • E2E 测试

    • Protractor(已弃用,推荐 Cypress)

15. 部署

  • 生产构建

    ng build --prod

  • Docker 部署

    FROM nginx
    COPY dist/my-app /usr/share/nginx/html


五、学习路线建议

1. 初级阶段(1-2 个月)

  • TypeScript 基础

  • Angular 组件 & 数据绑定

  • 路由 & HTTP 请求

2. 中级阶段(2-4 个月)

  • 响应式表单

  • RxJS 异步编程

  • 状态管理(NgRx)

3. 高级阶段(4-6 个月)

  • 性能优化(懒加载、AOT)

  • 自定义指令/管道

  • 微前端架构(Angular Elements)

4. 实战项目

  • 初级:Todo List(CRUD 操作)

  • 中级:电商网站(购物车、路由守卫)

  • 高级:管理后台(NgRx、权限控制)


通过这个知识框架,你可以逐步掌握 Angular 的核心技术,并进阶到企业级开发。建议结合 Angular 官方文档 和实战项目练习!

http://www.xdnf.cn/news/6122.html

相关文章:

  • 【SQL】如何在 SQL 中统计结构化字符串的特征频率
  • 【位运算】常见算法公式使用
  • 360智语:以全栈技术重塑企业级智能体开发新标杆
  • 银行卡真伪验证助力金融合规-银行卡实名认证接口
  • 电机的导程和脉冲之间的关系
  • Ansible Roles 是一种用于层次化和结构化组织 Ansible Playbook 的机制。
  • SVG 知识详解:从入门到精通
  • 鸿蒙5.0项目开发——鸿蒙天气项目的实现(主页1)
  • 《Effective Python》第2章 字符串和切片操作——Python 字符串格式化的现代选择f-strings
  • Python 之 Flask 入门学习
  • 《P4391 [BalticOI 2009] Radio Transmission 无线传输 题解》
  • 完整的 CentOS 6.10 虚拟机安装启动脚本
  • spark中的转换算子
  • 易学探索助手-项目记录(九)
  • HTTP GET报文解读
  • 学习机器学习的体会与姓名性别预测案例分析
  • CMakeLists生成调用静态动态库可执行demo
  • 论语详解---缠中说禅(整理)
  • 通义千问-langchain使用构建(一)
  • ChromeDriver进程泄漏问题分析与最佳实践解决方案
  • 排序算法详解
  • Electron入门指南:用前端技术打造桌面应用
  • Socket API 核心函数详解
  • 一文了解 HTTP Content-Type:从基础到实战
  • 第六天——贪心算法——字符串分隔
  • 【C++】模板(初阶)
  • 从lightrag的prompt到基于openai Structured Outputs 的优化实现思路
  • 虚幻引擎5-Unreal Engine笔记之摄像机与场景捕获相关概念的解析
  • C语言学习之文件操作
  • HTTP / HTTPS 协议