diff --git a/src/ng/compile.js b/src/ng/compile.js index 1afd08606e8b..ae2e124ce880 100644 --- a/src/ng/compile.js +++ b/src/ng/compile.js @@ -1960,31 +1960,30 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { newIsolateScopeDirective, isolateScope); } if (elementControllers) { - // Initialize bindToController bindings for new/isolate scopes - var scopeDirective = newIsolateScopeDirective || newScopeDirective; - var bindings; - var controllerForBindings; - if (scopeDirective && elementControllers[scopeDirective.name]) { - bindings = scopeDirective.$$bindings.bindToController; - controller = elementControllers[scopeDirective.name]; - - if (controller && controller.identifier && bindings) { - controllerForBindings = controller; - thisLinkFn.$$destroyBindings = + for (i in elementControllers) { + // Initialize bindToController bindings for new/isolate scopes + var scopeDirective = newIsolateScopeDirective || controllerDirectives[i]; + var bindings; + var controllerForBindings; + if (scopeDirective && elementControllers[scopeDirective.name]) { + bindings = scopeDirective.$$bindings.bindToController; + controller = elementControllers[scopeDirective.name]; + if (controller && controller.identifier && bindings) { + controllerForBindings = controller; + thisLinkFn.$$destroyBindings = initializeDirectiveBindings(scope, attrs, controller.instance, - bindings, scopeDirective); + bindings, scopeDirective); + } } - } - for (i in elementControllers) { controller = elementControllers[i]; var controllerResult = controller(); if (controllerResult !== controller.instance && - controller === controllerForBindings) { + controller === controllerForBindings) { // Remove and re-install bindToController bindings thisLinkFn.$$destroyBindings(); thisLinkFn.$$destroyBindings = - initializeDirectiveBindings(scope, attrs, controllerResult, - bindings, scopeDirective); + initializeDirectiveBindings(scope, attrs, controllerResult, + bindings, scopeDirective); } } }