aboutsummaryrefslogtreecommitdiffstats
path: root/src/ng/compile.js
diff options
context:
space:
mode:
authorIgor Minar2013-11-07 16:19:03 -0800
committerIgor Minar2013-11-07 22:08:22 -0800
commit27e9340b3c25b512e45213b39811098d07e12e3b (patch)
tree63f817a20eea62f813fcf85ad40c1b8bcc6e1652 /src/ng/compile.js
parentb5af198f0d5b0f2b3ddb31ea12f700f3e0616271 (diff)
downloadangular.js-27e9340b3c25b512e45213b39811098d07e12e3b.tar.bz2
feat(jqLite): expose isolateScope() getter similar to scope()
See doc update in the diff for more info. BREAKING CHANGE: jqLite#scope() does not return the isolate scope on the element that triggered directive with isolate scope. Use jqLite#isolateScope() instead.
Diffstat (limited to 'src/ng/compile.js')
-rw-r--r--src/ng/compile.js12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/ng/compile.js b/src/ng/compile.js
index 7513fc7e..2e3d7867 100644
--- a/src/ng/compile.js
+++ b/src/ng/compile.js
@@ -1368,7 +1368,15 @@ function $CompileProvider($provide) {
var $linkNode = jqLite(linkNode);
isolateScope = scope.$new(true);
- $linkNode.data('$isolateScope', isolateScope);
+
+ if (templateDirective && (templateDirective === newIsolateScopeDirective.$$originalDirective)) {
+ $linkNode.data('$isolateScope', isolateScope) ;
+ } else {
+ $linkNode.data('$isolateScopeNoTemplate', isolateScope);
+ }
+
+
+
safeAddClass($linkNode, 'ng-isolate-scope');
forEach(newIsolateScopeDirective.scope, function(definition, scopeName) {
@@ -1600,7 +1608,7 @@ function $CompileProvider($provide) {
origAsyncDirective = directives.shift(),
// The fact that we have to copy and patch the directive seems wrong!
derivedSyncDirective = extend({}, origAsyncDirective, {
- templateUrl: null, transclude: null, replace: null
+ templateUrl: null, transclude: null, replace: null, $$originalDirective: origAsyncDirective
}),
templateUrl = (isFunction(origAsyncDirective.templateUrl))
? origAsyncDirective.templateUrl($compileNode, tAttrs)