用途:面向 Angular 应用中的依赖注入(DI)、服务、provider、注入令牌(InjectionToken)与层级注入场景,帮助编写和调整相关代码。资料版本标注为 Angular 21(2025)。
主要能力与要点:
- 函数式注入:推荐用 inject() 替代构造函数注入,支持 inject(Service, { optional: true }) 与 inject(Service, { skipSelf: true })。
- 单例服务:使用 providedIn: 'root',如 @Injectable({ providedIn: 'root' }) 装饰服务。
- 非类依赖:使用 InjectionToken,配合 providers 中的 useValue 与 @Inject 读取。
- 复杂实例化:使用 useFactory 配合 deps 声明依赖。
- 多实现:使用 multi: true,如多个 HTTP_INTERCEPTORS。
- 可选与层级控制:@Optional 处理可选依赖,@SkipSelf 避免自注入,forwardRef 处理循环依赖。
- 作用域:组件级 providers 与 providedIn: MyModule 实现层级/懒加载作用域,providedIn: 'any' 用于懒加载服务。
- 接口注入模式:定义接口与对应 InjectionToken。
限制:以上内容均来自资料提供的示例与说明,未提供收费、价格、平台支持范围或具体使用步骤等信息;版本标注为 Angular 21(2025),其他版本行为暂未提供。