Angular 笔记02 依赖注入
依赖注入令牌
当使用提供者配置注入器时,就会把提供者
和一个 DI 令牌
关联起来。
注入器维护一个内部令牌-提供者
的映射表
,当请求一个依赖项时就会引用它。令牌就是这个映射表的键。
1-1
在简单的例子中,依赖项的值是一个实例,而类的类型则充当键来查阅它。
heroService: HeroService;
1-2
当你编写的构造函数中需要注入基于类的依赖项时,其行为也类似。
当你使用 HeroService 类的类型来定义构造函数参数时,
Angular 就会知道要注入与 HeroService 类这个令牌相关的服务。
constructor(heroService: HeroService)
1-3
当组件或服务声明某个依赖项时,该类的构造函数会以参数的形式接收那个依赖项。
通过给这个参数加上 @Optional() 注解,你可以告诉 Angular,该依赖是可选的
import { Optional } from '@angular/core';
constructor(@Optional() private logger?: Logger) {
if (this.logger) {
this.logger.log(some_message);
}
}