angular provide源码解析
在createInjector中会调用loadModules方法,loadModules方法中调用如下:
1 | //遍历modulesToLoad数组 |
还记得bootstrap中调用是怎么样的么?
1 | modules = modules || []; |
那么就会先调用providerInjector.invoke
然后再push到runBlocks中,$provide定义如下:
1 | function valueFn(value) {return function valueRef() {return value;};} |
看instantiate方法:
1 | function instantiate(Type, locals, serviceName) { |