我的指令定义如下 –
.directive('codesection',['$compile',function ($compile) { return { restrict: 'E',scope: { current: '=',parent: '=',index: '=',params: '=' },controller: ['Messages','$scope','Modals','framewidth','$http','$rootScope',function (Messages,$scope,Modals,framewidth,$http,$rootScope) { //code }],link: function (scope,element,attr) { element.bind('mouSEOver',function (ev) { ev.stopPropagation(); var wrappers = angular.element(document.getElementsByClassName('codesection')); angular.forEach(wrappers,function (value,key) { angular.element(value).children('span').removeClass('br'); }); element.children('.codesection').children('span').addClass('br'); }); },compile: function (tElement,tAttr,transclude) { var contents = tElement.contents().remove(); var compiledContents; return function (scope,iElement,iAttr) { if (!compiledContents) { compiledContents = $compile(contents,transclude); } compiledContents(scope,function (clone,scope) { iElement.append(clone); }); }; },templateUrl: './partials/directives/codesection.html',replace: true } }])
附:编译逻辑的原因是该指令是递归的.
原文地址:https://www.jb51.cc/angularjs/142524.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。