diff --git a/src/components/tabs/js/templateDirective.js b/src/components/tabs/js/templateDirective.js index e41eda34178..4e39ba88152 100644 --- a/src/components/tabs/js/templateDirective.js +++ b/src/components/tabs/js/templateDirective.js @@ -15,7 +15,7 @@ function MdTemplate ($compile, $mdUtil) { }; function link (scope, element, attr, ctrl) { if (!ctrl) return; - var compileScope = scope.compileScope.$new(); + var compileScope = scope.compileScope; element.html(scope.template); $compile(element.contents())(compileScope); element.on('DOMSubtreeModified', function () { diff --git a/src/components/tabs/tabs.spec.js b/src/components/tabs/tabs.spec.js index 7c41971918f..20445f0e369 100644 --- a/src/components/tabs/tabs.spec.js +++ b/src/components/tabs/tabs.spec.js @@ -277,4 +277,24 @@ describe('', function () { expect(tab.find('md-tab-body').length).toBe(0); }); }); + + describe('internal scope', function () { + it('should have the same internal scope as external', function () { + var template = '\ + \ + \ + Set data to false\ + \ + \ + '; + var element = setup(template); + var button = element.find('md-button'); + + expect(button[0 ].tagName).toBe('MD-BUTTON'); + + button.triggerHandler('click'); + + expect(element.scope().data).toBe(false); + }); + }); });