依赖注入(Dependency Injection,DI)是 Angular 核心特性之一,它通过解耦组件与具体实现,提升代码的可维护性和可测试性。理解 DI 是掌握 Angular 框架的关键一步!
⚙️ 核心概念解析
- 依赖注入:将组件所需的依赖(如服务、模块)通过外部传递,而非组件自行创建
- 提供者(Provider):定义依赖的创建逻辑,通常通过
@Injectable()
装饰器标注 - 注入器(Injector):Angular 自动创建的容器,负责管理依赖的生命周期和实例化
📦 使用示例
// 服务类
@Injectable()
class DataService {
getData() { return 'Hello from DataService!'; }
}
// 组件中注入
class MyComponent {
constructor(private dataService: DataService) {}
}
✅ DI 的优势
- ⚡ 模块化开发:组件专注于业务逻辑,依赖由框架统一管理
- 🔍 易于测试:可轻松替换为 mock 对象进行单元测试
- 🔄 提高复用性:服务可被多个组件共享使用
⚠️ 注意事项
- ❌ 避免在组件中直接实例化依赖,应通过构造函数或方法注入
- ⚠️ 注意作用域问题,确保服务在正确层级被注入
- 📌 了解
@Injectable()
的{ providedIn }
参数用法
想深入了解 Angular 组件如何与 DI 配合使用?👉 前往 Angular 组件指南 获取更多实战技巧!