Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit 0487558

Browse files
committed
refactor($compile): combining elementControllers and controllers
1 parent 5183eeb commit 0487558

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

src/ng/compile.js

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1506,7 +1506,6 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
15061506
var terminalPriority = -Number.MAX_VALUE,
15071507
newScopeDirective,
15081508
controllerDirectives = previousCompileContext.controllerDirectives,
1509-
controllers,
15101509
newIsolateScopeDirective = previousCompileContext.newIsolateScopeDirective,
15111510
templateDirective = previousCompileContext.templateDirective,
15121511
nonTlbTranscludeDirective = previousCompileContext.nonTlbTranscludeDirective,
@@ -1796,9 +1795,8 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
17961795

17971796
transcludeFn = boundTranscludeFn && controllersBoundTransclude;
17981797
if (controllerDirectives) {
1799-
// TODO: merge `controllers` and `elementControllers` into single object.
1800-
controllers = {};
18011798
elementControllers = {};
1799+
18021800
forEach(controllerDirectives, function nodeLinkControllers(directive) {
18031801
var locals = {
18041802
$scope: directive === newIsolateScopeDirective || directive.$$isolateScope ? isolateScope : scope,
@@ -1823,8 +1821,6 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
18231821
if (!hasElementTranscludeDirective) {
18241822
$element.data('$' + directive.name + 'Controller', controllerInstance.instance);
18251823
}
1826-
1827-
controllers[directive.name] = controllerInstance;
18281824
});
18291825
}
18301826

@@ -1833,7 +1829,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
18331829
templateDirective === newIsolateScopeDirective.$$originalDirective)));
18341830
compile.$$addScopeClass($element, true);
18351831

1836-
var isolateScopeController = controllers && controllers[newIsolateScopeDirective.name];
1832+
var isolateScopeController = elementControllers && elementControllers[newIsolateScopeDirective.name];
18371833
var isolateBindingContext = isolateScope;
18381834
if (isolateScopeController && isolateScopeController.identifier &&
18391835
newIsolateScopeDirective.bindToController === true) {
@@ -1911,11 +1907,11 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
19111907
}
19121908
});
19131909
}
1914-
if (controllers) {
1915-
forEach(controllers, function nodeLinkInitController(controller) {
1910+
1911+
if (elementControllers) {
1912+
forEach(elementControllers, function nodeLinkInitController(controller) {
19161913
controller();
19171914
});
1918-
controllers = null;
19191915
}
19201916

19211917
// PRELINKING

0 commit comments

Comments
 (0)