微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angularjs – 未调用链接函数

我的指令定义如下 –
.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
  }
}])

我遇到的问题是永远不会调用链接函数.谢谢!

附:编译逻辑的原因是该指令是递归的.

如果你的意思是链接函数(范围,元素,attr){没有被调用那么它很清楚:编译函数已经返回一个链接函数.什么被定义为链接:不再重要,被忽略.

原文地址:https://www.jb51.cc/angularjs/142524.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐