diff --git a/src/ng/compile.js b/src/ng/compile.js index 34e38137606f..fd13cc584e1d 100644 --- a/src/ng/compile.js +++ b/src/ng/compile.js @@ -1614,7 +1614,6 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { var terminalPriority = -Number.MAX_VALUE, newScopeDirective, controllerDirectives = previousCompileContext.controllerDirectives, - controllers, newIsolateScopeDirective = previousCompileContext.newIsolateScopeDirective, templateDirective = previousCompileContext.templateDirective, nonTlbTranscludeDirective = previousCompileContext.nonTlbTranscludeDirective, @@ -1911,8 +1910,6 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { } if (controllerDirectives) { - // TODO: merge `controllers` and `elementControllers` into single object. - controllers = {}; elementControllers = {}; forEach(controllerDirectives, function(directive) { var locals = { @@ -1938,8 +1935,6 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { if (!hasElementTranscludeDirective) { $element.data('$' + directive.name + 'Controller', controllerInstance.instance); } - - controllers[directive.name] = controllerInstance; }); } @@ -1954,14 +1949,14 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { isolateScope.$$isolateBindings, newIsolateScopeDirective, isolateScope); } - if (controllers) { + if (elementControllers) { // Initialize bindToController bindings for new/isolate scopes var scopeDirective = newIsolateScopeDirective || newScopeDirective; var bindings; var controllerForBindings; - if (scopeDirective && controllers[scopeDirective.name]) { + if (scopeDirective && elementControllers[scopeDirective.name]) { bindings = scopeDirective.$$bindings.bindToController; - controller = controllers[scopeDirective.name]; + controller = elementControllers[scopeDirective.name]; if (controller && controller.identifier && bindings) { controllerForBindings = controller; @@ -1970,7 +1965,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { bindings, scopeDirective); } } - forEach(controllers, function(controller) { + forEach(elementControllers, function(controller) { var result = controller(); if (result !== controller.instance && controller === controllerForBindings) { @@ -1981,7 +1976,6 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { bindings, scopeDirective); } }); - controllers = null; } // PRELINKING