2014-10-12 2 views
1

요소를 감싸는 지시문을 만들고 싶습니다. 나는이 하나를 시도했다 :래퍼 지시문 및 클래스 복제

.directive('wrap', function() { 
    return { 
    restrict: 'A', 
    replace: true, 
    transclude: 'element', 
    template: '<div class="wrapper" ng-transclude></div>' 
    }; 
}); 

하지만 나는 그것을 사용하는 경우 :

<div class="my-class wrapper" ng-transclude="" wrap=""> 
    <a class="my-class ng-scope" wrap="">Hello</a> 
</div> 

는 내가 원하는 것은 단지 그러나없이 : 나는 my-class 중복지고있어

<a class="my-class" wrap>Hello</a> 

을 래퍼 div에 my-class :

<div class="wrapper" ng-transclude="" wrap=""> 
    <a class="my-class ng-scope" wrap="">Hello</a> 
</div> 

가능합니까?

답변

1

당신은 tranclude 함께 할 CA : true를

app.directive('wrap', function() { 
    return { 
    restrict: 'A', 
    replace: true, 
    transclude: true, 
    template: '<div class="wrapper" ng-transclude></div>' 
    }; 
}); 

HTML :

<div wrap><a class="my-class">Hello</a></div> 

또는 ('E'를 사용하면 제한 사용하는 경우) :

<wrap><a class="my-class">Hello</a></wrap> 

출력 :

<div class="wrapper" ng-transclude="" wrap=""> 
    <a class="my-class ng-scope">Hello</a> 
</div> 

http://plnkr.co/edit/Bxeeo4lytcicoXE65MU9?p=preview

+0

고마워요, 실제로 그것이 작동하도록 사용하고있는 방식입니다. 나는 단지 'wrapping'하지 않고 'Hello'와 같은 결과를 얻는 것에 대해서 궁금하다. – IsidroGH