场景实例
如上图所示,通过内部服务$provide自定义service、factory等服务。执行完config方法后,provideCache增加了provideProvider、serviceProvider、factoryProvider属性,缓存了自定义服务的信息。
代码分析
$provide是angular内部的初始化时自定义的一个服务,存储在provideCache对象中。
angular初始化时,执行createInjector方法,初始化providerCache对象及其$provide属性,即$provide服务。在依赖注入这个$provide服务时,实际上使用的是provideCache对象的这个$provide属性。