동반 plunker.AngularJS - 인과 관계가없는 중첩 지시문?
div에 특성 수준 사용자 지정 지시문이 있습니다. 이 지시문에는 격리 된 범위가 있습니다. 내 div 안에는 부모의 범위에있을 것으로 기대되는 다른 지시문이 있습니다.
내 div의 지시문은 부모 범위이 아닌 격리 된 범위에만 액세스 할 수 있습니다. 나는 그 이유를 이해하지만, 그것을 깔끔하게 해결하는 방법에 대해서는 분명하지 않다.
나는이 문제를 해결하기 위해 transclude를 사용할 수 있다는 것을 알고 있지만 (plunker 참조), 이것은 매우 조잡한 느낌입니다. 나는 템플릿이 필요 없지만, transclude를 작동시키기 위해서 하나 만들어야 만하고, transclude는 중첩 된 지시어가 올바른 범위에 액세스 할 수있는 유일한 방법 인 것 같습니다.
대체 방법이 있습니까?
- 내가이기 때문에 나는 고립 된 범위를 사용하고
- IE 을위한 일을 더 쉽게 만드는 대신 요소 수준의 속성 수준의 지침을 사용하고 있습니다 :
은 몇 가지 가능한 질문을 머리에 모범 사례 - 우연히 부모 위치에 호스를 설치하고 싶지 않으며 지시문을 이식 가능하도록하고 싶습니다.
감사합니다. 두 솔루션 모두 작동하지만 ng-click은 격리 된 범위에 있다는 것을 알아야하기 때문에 이상적이지 않습니다. 실제로 부모에 있다고 가정 할 수 있어야합니다. 내가 찾고있는 솔루션 (존재한다면!)은 내 div 안의 모든 것이 부모 범위에 있어야합니다. –
@Roy, 동의하지 않습니다 ... ng-repeat, ng-view, ng-include 등에서 자녀 범위에 있음을 알아야합니다. 마찬가지로, 사용자 지정 지시문을 사용할 때 어떤 종류의 범위 (부모, 자식, 격리)인지 알아야한다고 생각합니다. 각진 docs는 기본 제공 지시문에서 자식 범위를 만드는 것을 나타냅니다. 마찬가지로, 우리의 커스텀 디렉티브는 그들이 어떤 종류의 스코프를 생성 하는지를 문서화 할 필요가 있다고 생각한다. –