【发布时间】:2015-07-03 11:45:44
【问题描述】:
我当然错过了关于注射器的一些基本观点,但我不明白为什么会这样
angular.module('app').config(function ($provide) {
...
});
还有这个
angular.module('app').config(function ($injector) {
$injector.invoke(function ($provide) { ... });
});
按预期工作,而这
app.run(function($provide) {
...
});
会扔
错误:[$injector:unpr] 未知提供者:$provideProvider
从上面可以看出,config 与提供者有一些特殊关系,而run 处理实例,但我不确定是什么让config 块如此特别。
因此,没有办法在config 块之外到达$provide,例如使用angular.injector()(尽管它似乎也获得了提供者实例)?
这个问题,除了单纯的好奇,还有一些实际的考虑。在 1.4 中,所有 $provide 函数都暴露给模块,但在 1.3 中并非如此。
【问题讨论】:
标签: angularjs internals angularjs-injector