|
104 | 104 | */
|
105 | 105 | configure: function(app) {
|
106 | 106 |
|
107 |
| - app.provider('ngProviders', ['$controllerProvider', '$compileProvider', '$filterProvider', '$provide', |
108 |
| - function($controllerProvider, $compileProvider, $filterProvider, $provide) { |
| 107 | + app.provider('ngProviders', ['$controllerProvider', '$compileProvider', '$filterProvider', '$provide', '$injector', |
| 108 | + function($controllerProvider, $compileProvider, $filterProvider, $provide, $injector) { |
109 | 109 | this.$get = function() {
|
110 | 110 | return {
|
111 | 111 | $controllerProvider: $controllerProvider,
|
112 | 112 | $compileProvider: $compileProvider,
|
113 | 113 | $filterProvider: $filterProvider,
|
114 |
| - $provide: $provide |
| 114 | + $provide: $provide, |
| 115 | + $injector: $injector |
115 | 116 | };
|
116 | 117 | };
|
117 | 118 | }
|
|
130 | 131 | */
|
131 | 132 | app.useModule = function (name) {
|
132 | 133 | var module = angular.module(name);
|
| 134 | + |
133 | 135 | if (module.requires) {
|
134 | 136 | for (var i = 0; i < module.requires.length; i++) {
|
135 | 137 | app.useModule(module.requires[i]);
|
136 | 138 | }
|
137 | 139 | }
|
138 |
| - angular.forEach(module._invokeQueue, function(invokeArgs) { |
139 |
| - var provider = ngProviders[invokeArgs[0]]; |
140 |
| - provider[invokeArgs[1]].apply(provider, invokeArgs[2]); |
| 140 | + angular.forEach(module._invokeQueue, function(args) { |
| 141 | + var provider = ngProviders[args[0]] || $injector.get(args[0]); |
| 142 | + provider[args[1]].apply(provider, args[2]); |
141 | 143 | });
|
142 |
| - angular.forEach(module._configBlocks, function(fn) { |
143 |
| - $injector.invoke(fn); |
| 144 | + angular.forEach(module._configBlocks, function(args) { |
| 145 | + var provider = ngProviders.$injector.get(args[0]); |
| 146 | + provider[args[1]].apply(provider, args[2]); |
144 | 147 | });
|
145 |
| - angular.forEach(module._runBlocks, function(fn) { |
146 |
| - $injector.invoke(fn); |
| 148 | + angular.forEach(module._runBlocks, function(args) { |
| 149 | + $injector.invoke(args); |
147 | 150 | });
|
148 | 151 |
|
149 | 152 | return app;
|
|
0 commit comments