angular源码分析3-$provide

场景实例

如上图所示,通过内部服务$provide自定义service、factory等服务。执行完config方法后,provideCache增加了provideProvider、serviceProvider、factoryProvider属性,缓存了自定义服务的信息。

代码分析

$provide是angular内部的初始化时自定义的一个服务,存储在provideCache对象中。

angular初始化时,执行createInjector方法,初始化providerCache对象及其$provide属性,即$provide服务。在依赖注入这个$provide服务时,实际上使用的是provideCache对象的这个$provide属性。

原文地址:https://www.cnblogs.com/fe-huahai/p/7045351.html