2014-10-13 1 views
0

템플릿을 표시하거나 숨기고 싶습니다. 그래서 지시어를 사용하여 이것을 습득 할 것입니다.지시어 표시/숨기기에 ng-if를 사용하는 방법

아래 한 템플릿의 코드입니다.

<div resupload ng-if="resuploadvisible"></div> 

아래와 같이 닫기 버튼을 클릭하면 지시어에서 resuploadvisible 값을 false로 변경했습니다.

scope.cancelupload = function() { 
       scope.resuploadvisible = false; 
}; 
scope.openupload = function() { 
        scope.resuploadvisible = true; 
    }; 

팝업 DIV false로도 resuploadvisible 세트를 닫을 수 없습니다.

내가 NG-경우 NG 쇼 에 팝업 DIV 어떤 문제없이 & 폐쇄을 여는 변경 한 경우이는 기계류.

이 잡초가 나는 행동은 무엇입니까? 잠시 설명해주십시오.

미리 감사드립니다.

답변

1

ngIf 지시문은 {expression}을 기반으로 DOM 트리의 일부를 제거하거나 다시 만듭니다.

ngIf을 사용하여 요소를 제거하면 해당 범위가 삭제되고 요소를 복원 할 때 새 범위가 만들어집니다.

ngIf 내에 생성 된 범위는 프로토 타입 상속을 사용하여 부모 범위에서 상속됩니다. ngModelparent 범위에 정의 된 스크립트 primitive에 바인딩 ngIf 내에 사용되는 경우

이것의 중요한 의미가있다. 이 경우 하위 범위 내의 변수에 대한 모든 수정 내용이 상위 범위의 값을 재정의 (숨김)합니다.

<div resupload ng-if="$parent.resuploadvisible"></div> 
:

은 당신의 부모 범위에 속성에 액세스 할 수 $parent를 사용하여 해결하려면