入口:GreetingService是我在Angular项目里定义的abstract service,没有加上@Injectable注解:

Angular getOrCreateInjectable的实现原理调试
Angular getOrCreateInjectable的实现原理调试

return this._r3Injector.get(token, notFoundValue, injectFlags);

Angular getOrCreateInjectable的实现原理调试

this的source为AppModule,records map里已经包含了70个元素:

Angular getOrCreateInjectable的实现原理调试
Angular getOrCreateInjectable的实现原理调试
Angular getOrCreateInjectable的实现原理调试

我实现GreetingService的具体实现类,EnglishGreetingService,已经在这70个元素map里了:

Angular getOrCreateInjectable的实现原理调试

这归功于我在app module providers区域的定义:

Angular getOrCreateInjectable的实现原理调试

要获取更多Jerry的原创文章,请关注公众号"汪子熙":
Angular getOrCreateInjectable的实现原理调试

相关文章:

  • 2022-03-03
  • 2022-12-23
  • 2022-12-23
  • 2022-02-02
猜你喜欢
  • 2021-11-13
  • 2022-12-23
  • 2021-11-29
  • 2022-12-23
  • 2021-12-30
  • 2022-02-08
  • 2022-12-23
相关资源
相似解决方案