0

我有编译任何给定指令的动态指令,问题出在编译函数上,我需要为其提供正确的范围,只是想如何做到这一点?

下面我的指令示例,“指令”范围输入是动态的,例如它可能是<display-users data="users"/>用户是加载此指令的控制器的一部分。

尽管下面的编译工作正常,但由于它没有将编译后的代码与正确的范围相关联(在上述情况下为控制器一),它不会显示用户。请问有人可以帮忙吗?

theApp.directive('customCompile',
   function ($compile) 
   {
      var dir = 
      {
           replace: true, // replace the original html ? required for restrict = "M" 
           restrict: 'E', //can be one or more of E / A / C / M
           scope:{
             directive:'='
           },
           controller: function ($scope, $http, $attrs) // The controller for the directive
           {

           },
            compile: function compile($element, $tAttrs, $transclude) {
              return{
                 post: function postLink($scope, $iElement, $iAttrs){

                    $iElement.parent().append($compile($scope.directive.directive)($scope));    

                 }
              }

            }
       };

       return dir;
    }
);
4

0 回答 0