这个问题的框架不可知的方式是“如何使用服务定位器注册另一个服务?”如何添加另一个供应商到注射器?
Injector被设置为不可变的,包括接口和实现。
interface Injector {
abstract get(token: any, notFoundValue?: any): any;
}
接口https://github.com/angular/angular/blob/master/packages/core/src/di/injector.ts 实现https://github.com/angular/angular/blob/master/packages/core/src/di/reflective_injector.ts
你如何添加其他供应商(动态,而不是通过一个模块)?
Angular在自举之后如何在加载新模块时进行此操作,例如通过路由器?
有趣。看起来这有两个后果:(1)在引导完成后,你不能将任何注射添加到模块中(2)你不能在父模块中请求注入子模块。因为它的存在并不知道父喷油器。 –
@ErikvanVelzen,是的,这是绝对正确的 –
@ErikvanVelzen,还有什么不清楚我的答案? –