From 90f87072e83234ae366cfeb3c281503c31dad738 Mon Sep 17 00:00:00 2001 From: Tobias Bosch Date: Thu, 14 Nov 2013 13:50:36 -0800 Subject: fix($compile): accessing controllers of transcluded directives from children Additional API (backwards compatible) - Injects `$transclude` (see directive controllers) as 5th argument to directive link functions. - `$transclude` takes an optional scope as first parameter that overrides the bound scope. Deprecations: - `transclude` parameter of directive compile functions (use the new parameter for link functions instead). Refactorings: - Don't use comment node to temporarily store controllers - `ngIf`, `ngRepeat`, ... now all use `$transclude` Closes #4935. --- src/ng/directive/ngInclude.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/ng/directive/ngInclude.js') diff --git a/src/ng/directive/ngInclude.js b/src/ng/directive/ngInclude.js index 7ca9a48b..7f395f96 100644 --- a/src/ng/directive/ngInclude.js +++ b/src/ng/directive/ngInclude.js @@ -154,12 +154,12 @@ var ngIncludeDirective = ['$http', '$templateCache', '$anchorScroll', '$compile' priority: 400, terminal: true, transclude: 'element', - compile: function(element, attr, transclusion) { + compile: function(element, attr) { var srcExp = attr.ngInclude || attr.src, onloadExp = attr.onload || '', autoScrollExp = attr.autoscroll; - return function(scope, $element) { + return function(scope, $element, $attr, ctrl, $transclude) { var changeCounter = 0, currentScope, currentElement; @@ -188,7 +188,7 @@ var ngIncludeDirective = ['$http', '$templateCache', '$anchorScroll', '$compile' if (thisChangeId !== changeCounter) return; var newScope = scope.$new(); - transclusion(newScope, function(clone) { + $transclude(newScope, function(clone) { cleanupLastIncludeContent(); currentScope = newScope; -- cgit v1.2.3