1

bootstrap-like documentation page의 일부로 사용중인 다른 지시문의 예를 보여주는 지시문을 만들었습니다.자식 지시문이 실행되기 전에 내용을 복제 함 복제

<an-example> 
    <input ng-model="name" an-spellcheck /> 
</an-example> 

내가 그것의 내부에 배치되는 태그를 복사하고이 지침을 사용해야합니다 마크 업을 보여주기 위해 <code> 태그에 저를 데려 가고 싶다는 예를 들면 다음과 같습니다. 내가 어떤 전에 매개자 콘텐츠에 액세스 할 수없는 것,

<input ng-model="name" an-spellcheck /> 

을하지만 :

<input class="ng-scope ng-pristine" ng-model="name" an-spellcheck /> 

대신, example 지시문을 캡처해야합니다

그러나 ng-model은 만드는 입력에 클래스를 추가합니다 내부 지시문이 실행됩니다. 여기에 a plunker demonstrating the issue입니다.

controller, preLinkpostLink 함수에서 입력에는 이미 ng-model의 CSS 클래스가 있습니다.

example 지시어의 내용에 액세스하는 방법이 있습니까? 어린이 지시문을 각도로 컴파일하기 전에?

답변

0

ngTransclude의 우선 순위가 0이고 ngModel의 우선 순위가 1 (컴파일 순서가 높은 것부터 낮은 것까지)이기 때문에 가능하지 않습니다. 따라서 ngModel이 항상 먼저 컴파일됩니다. 이 ngModel 전에 컴파일 할 수 있도록하기 위해이 지침에 우선 순위를 변경하는 것이 가능할 수 있지만 transclude는

ngModel 우선 순위 나중에 적용됩니다 : https://docs.angularjs.org/api/ng/directive/ngModel

ngTransclude 우선 순위 : https://docs.angularjs.org/api/ng/directive/ngTransclude

+0

I 돈 이것이 동일한 요소에 대한 [여러 개의 지시어] (https://docs.angularjs.org/api/ng/service/$compile#-priority-)에 대한 것이기 때문에 이것이 우선 순위의 문제라고 생각하지 않습니다. 제 경우에는, 'ng-transclude'는'ng-model'의 부모입니다. – thetallweeks