我实际上正在研究角度 DI 容器,我需要一些信息。
其实看API,好像Injector类在工厂参数中接受了一个Binding列表,并解析得到一个ResolvedBinding列表。
注意:https ://angular.io/docs/js/latest/api/di/
我想知道系统如何管理 Binding 和 ResolvedBing 之间的转换,因为:
- 绑定可以返回一个值
- 绑定可以返回别名
- 绑定可以返回一个类
- 绑定可以返回工厂
ResolvedBinding 构造函数如下:
constructor(key:Key, factory:Function,...)
似乎可以在需要时返回一个工厂(和类,如果我们承认类是通过工厂创建的),但是如果我只需要返回一个值怎么办?fw 是否创建了一个专门返回值的工厂?