2013-04-02 4 views
2

요소를 숨기지 만 자식 요소는 숨기는 지시문을 만드는 방법은 어떻게됩니까?AngularJS : (ng-) 요소는 숨기지 만 요소는 숨기지 않습니다.

url 변수가

<a ng-show-link="url" ng-href="{{url}}"> 
    <img ng-src="picture.png" /> 
</a> 

<a href="/url"> 
    <img src="picture.png" /> 
</a> 

을 인쇄 할 것이다, 그리고 url 경우

<img src="picture.png" /> 

존재하지 않았다 각 템플릿에게 존재한다면 나는 생각했다. ng-repeat를 사용할 때 추가 컨테이너 요소를 잘라내는 데 도움이됩니까?

답변

2

나는 <img> 태그가 및 URL이있는 경우 다음 <a> 태그로 을에 지침을 작성하는 쉬울 것 같아요. 추가/줄 바꿈은 기존 태그를 제거하는 것보다 깔끔합니다.

보기에서 중복의 약간의 비트와 함께 당신은 또한 지시없이이 작업을 수행 할 수 있지만 :

<a ng-show="url" ng-href="{{url}}"><img src="picture.png" /></a> 
<img ng-hide="url" src="picture.png" /> 
+0

을 난 내가 당분간 두 번째 솔루션으로 갈 것 같아요. 조금 있지만 행운을 위해 지시문 안의 태그로 ng-src 속성을 이동하려고했습니다. – WhoDidThis

0

사용자 지정 지정 문을 만들고 <a> 태그에 적용한 다음 특성에 url을 전달하십시오. URL이 정의되어 있지 않으면 JQuery dom 조작을 사용하여 <a>을 제거하고 <img>을 그대로 유지하십시오.

링크를 비활성화하거나 javascript:;을 사용하는 것이 훨씬 간단하지만. <a>을 삭제하려고하는 것이시기 상 성급한 최적화입니다.

관련 문제