2016-06-25 2 views
0

은 transclude와 templateUrl을 함께 지시문에서 사용할 수 있습니까?각도 지시문 - templateUrl로 코드 삽입

html을 지원하는 동적 모달 지시문을 만들려고합니다.

modal.js

'use strict'; 

myApp.directive('siteModal', function($http) { 
    return { 
     restrict: 'A', 
     transclude: true, 
     templateUrl: "./components/modal/modal.html", 
    }; 
}); 

modal.html

<div class="site-modal"> 

    <div class="site-modal-content"> 

     <div class="site-modal-body"> 
      {{modalContent}} 
     </div> 

    </div> 
    <div class="site-modal-overlay"></div> 
</div> 

사용법 :

<div site-modal ng-transclude> 
    Hello World <strong>and maybe some HTML too!</strong> 
</div> 
+0

잘못된 위치에'ng-transclude '가 있습니다. 'ng-transclude'는 템플릿 내부에 * 들어가며, 삽입 된 내용이 템플릿에 삽입되어야하는 곳의 마커로 사용됩니다. – Claies

답변

1

그것은 함께 작동하도록되어있다. 방금 ng-transclude 속성을 잘못 배치했습니다.

<div class="site-modal"> 

    <div class="site-modal-content"> 

     <div class="site-modal-body"> 
      <p ng-transclude> </p> 
     </div> 

    </div> 
    <div class="site-modal-overlay"></div> 
</div> 
+0

글쎄, 그건 어색해. 주의 해 주셔서 감사합니다. – user3800799