我实际上正在研究 Angular 2,我想知道团队如何处理他们组件中的依赖注入?
解释
似乎Ng2
是基于ES7
装饰器通过typescript
. 实际上,启动类装饰器(我的意思是装饰器的代码)仅在类被实例化时才被解释。
那么,团队如何处理组件/服务注入?
例子
从文档中查看此代码:
class AComponent {
constructor(@Inject(MyService) aService:MyService) {}
}
注入是在调用类的构造函数时进行的。这意味着 MyService 有一个特定的装饰器/特定的元数据(如@Injectable
),允许他被注入没有?
在这种情况下,这意味着有一个服务注册表,可以通过@Inject
注释访问它们的列表。
但这意味着框架能够在运行时创建和加载这个存储库(这是重要的词),这与装饰器调用不匹配(在类注释的实例化中)?
这是否意味着每个可注入的组件/服务至少被实例化一次?或者它是否存在在运行时注入或执行一些装饰器来填充服务注册表/容器的其他东西?
感谢提前