依赖注入(Dependency Injection,DI)是 Angular 核心特性之一,它通过解耦组件与具体实现,提升代码的可维护性和可测试性。理解 DI 是掌握 Angular 框架的关键一步!

⚙️ 核心概念解析

  • 依赖注入:将组件所需的依赖(如服务、模块)通过外部传递,而非组件自行创建
  • 提供者(Provider):定义依赖的创建逻辑,通常通过 @Injectable() 装饰器标注
  • 注入器(Injector):Angular 自动创建的容器,负责管理依赖的生命周期和实例化

📦 使用示例

// 服务类
@Injectable()
class DataService {
  getData() { return 'Hello from DataService!'; }
}

// 组件中注入
class MyComponent {
  constructor(private dataService: DataService) {}
}
Angular_DI

✅ DI 的优势

  • 模块化开发:组件专注于业务逻辑,依赖由框架统一管理
  • 🔍 易于测试:可轻松替换为 mock 对象进行单元测试
  • 🔄 提高复用性:服务可被多个组件共享使用

⚠️ 注意事项

  • ❌ 避免在组件中直接实例化依赖,应通过构造函数或方法注入
  • ⚠️ 注意作用域问题,确保服务在正确层级被注入
  • 📌 了解 @Injectable(){ providedIn } 参数用法

想深入了解 Angular 组件如何与 DI 配合使用?👉 前往 Angular 组件指南 获取更多实战技巧!