aboutsummaryrefslogtreecommitdiffstats
path: root/src/Injector.js
diff options
context:
space:
mode:
authorMisko Hevery2011-11-08 17:40:03 -0800
committerMisko Hevery2011-11-14 20:31:15 -0800
commit085e3c611fd0cd48757702c50c67b551a00a0d38 (patch)
tree879f19d0a829c828c3636b38c8c422f732a829a9 /src/Injector.js
parent4b35a59c6afd5093ed5ce7d68b75ccadd4c53696 (diff)
downloadangular.js-085e3c611fd0cd48757702c50c67b551a00a0d38.tar.bz2
new(directive): added ng:module directive for loading modules
Diffstat (limited to 'src/Injector.js')
-rw-r--r--src/Injector.js31
1 files changed, 18 insertions, 13 deletions
diff --git a/src/Injector.js b/src/Injector.js
index eacb8699..58b30fda 100644
--- a/src/Injector.js
+++ b/src/Injector.js
@@ -167,24 +167,29 @@ function createInjector(modulesToLoad, moduleRegistry) {
instance = new Constructor();
return invoke(instance, Type, locals) || instance;
};
+ injector.loadModule = loadModule;
return injector;
}
-
- forEach(modulesToLoad, function(module){
- if (isString(module)) {
- if (moduleRegistry[module]) {
- module = moduleRegistry[module];
+ function loadModule(modulesToLoad){
+ forEach(isString(modulesToLoad) ? modulesToLoad.split(',') : modulesToLoad, function(module) {
+ if (isString(module)) {
+ if (moduleRegistry[module = trim(module)]) {
+ module = moduleRegistry[module];
+ } else {
+ throw Error("Module '" + module + "' is not defined!");
+ }
+ }
+ if (isFunction(module) || isArray(module)) {
+ $injector(module);
} else {
- throw Error("Module '" + module + "' is not defined!");
+ assertArgFn(module, 'module');
}
- }
- if (isFunction(module) || isArray(module)) {
- $injector(module);
- } else {
- assertArgFn(module, 'module');
- }
- });
+ });
+ }
+
+
+ loadModule(modulesToLoad);
// instantiate $eager providers
// for perf we can't do forEach