angularjs装饰器的使用
我们定义一个模块,并且配置一个configBlocks
1 | angular.module('myapp',[]).config(function($provide){ |
此处可以有几个疑问:
- config函数做了什么?
- decorator函数又做了什么?
- angular.element(document)为什么能获取injector?
config函数
1 | /* |
模块的config函数就是把参数configBlocks放入configBlocks数组中,然后在loadModules的时候
调用runInvokeQueue,获取$injectorProvider也就是instanceInjector后调用invoke函数,
传入
1 |
|
把创建好的instanceInjector放入element的data缓存中,所以能直接调用injector()函数,此部分的
源码设计我们会在之后的文章中进行剖析。