|
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