UNPKG

angular-material-npfixed

Version:

The Angular Material project is an implementation of Material Design in Angular.js. This project provides a set of reusable, well-tested, and accessible Material Design UI components. Angular Material is supported internally at Google by the Angular.js, M

40 lines (32 loc) 1.05 kB
angular .module('material.components.tabs') .directive('mdTabsTemplate', MdTabsTemplate); function MdTabsTemplate ($compile, $mdUtil) { return { restrict: 'A', link: link, scope: { template: '=mdTabsTemplate', connected: '=?mdConnectedIf', compileScope: '=mdScope' }, require: '^?mdTabs' }; function link (scope, element, attr, ctrl) { if (!ctrl) return; var compileScope = ctrl.enableDisconnect ? scope.compileScope.$new() : scope.compileScope; element.html(scope.template); $compile(element.contents())(compileScope); return $mdUtil.nextTick(handleScope); function handleScope () { scope.$watch('connected', function (value) { value === false ? disconnect() : reconnect(); }); scope.$on('$destroy', reconnect); } function disconnect () { if (ctrl.enableDisconnect) $mdUtil.disconnectScope(compileScope); } function reconnect () { if (ctrl.enableDisconnect) $mdUtil.reconnectScope(compileScope); } } }