表达这个问题的一种与框架无关的方式是“如何使用服务定位器注册另一个服务?”
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 在引导后加载新模块时(例如通过路由器),它自己是如何做到这一点的?