diff options
| -rw-r--r-- | src/ng/route.js | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/src/ng/route.js b/src/ng/route.js index afdac3fb..0f8fe3e9 100644 --- a/src/ng/route.js +++ b/src/ng/route.js @@ -414,14 +414,13 @@ function $RouteProvider(){ $q.when(next). then(function() { if (next) { - var keys = [], - values = [], + var locals = extend({}, next.resolve), template; - forEach(next.resolve || {}, function(value, key) { - keys.push(key); - values.push(isString(value) ? $injector.get(value) : $injector.invoke(value)); + forEach(locals, function(value, key) { + locals[key] = isString(value) ? $injector.get(value) : $injector.invoke(value); }); + if (isDefined(template = next.template)) { if (isFunction(template)) { template = template(next.params); @@ -437,16 +436,9 @@ function $RouteProvider(){ } } if (isDefined(template)) { - keys.push('$template'); - values.push(template); + locals['$template'] = template; } - return $q.all(values).then(function(values) { - var locals = {}; - forEach(values, function(value, index) { - locals[keys[index]] = value; - }); - return locals; - }); + return $q.all(locals); } }). // after route change |
