2013-11-02 2 views
16

templateUrl을 내 지시문에 전달할 수 있습니까? 나는 transclusion을 사용할 수 있다는 것을 알고 있지만 너무 많이 보인다. 예를 들어, widget 지시문을 가지고 특정 html로 채울 수 있습니다. 이것은 당신이 다음 지시어와 같은templateUrl을 지시문에 전달할 수 있습니까? AngularJS

app.directive('myDirective', function() { 
    return { 
     templateUrl: function(tElement, tAttrs) { 
      return tAttrs.templateUrl; 
     } 
    }; 
}); 

을 정의 그렇지 않으면이

<div my-directive template-url="template1.html"></div> 

처럼 사용할 수있는 고정 URL 인 경우

<div widget templateUrl="template1.html"></div> 
<div widget templateUrl="template2.html"></div> 

답변

33

: 같은 그것을 전달하는 방법이 있나요 다른 속성을 지시문에 전달하고 지시문의 템플릿에 ng-include을 사용하는 것처럼 URL을 전달할 수 있습니다.

+2

Angular 1.0.8에서 function을 'templateUrl'로 사용할 수 없으므로 Angular 1.1.4 이상을 사용해야합니다. – lort

+1

좋은 지적. 안정된 지사를 사용한 지 오래되었습니다. 'ng-include'는 어느 쪽에서도 여전히 작동해야합니다. – Andyrooger

+0

또한 1.4.x에서 작동 확인 됨 – beauXjames

관련 문제