지시어에서 컨트롤러 변수를 변경 한 다음 업데이트 된 값을 ng-show로 전달해야합니다. 아래에 내 코드를 참조하십시오 :컨트롤러 변수를 지시문에서 변경하여 ng-show에 전달 - 각도 JS
컨트롤러 :
self.menuVisible = false;
지침 :
icon.bind('click', function(){
scope.menuCtrl.menuVisible = true;
})
참고 :이 질문에 관련이없는 지시어에 더 많은 코드 라인, 그리고 이것이 ng-click으로 전달할 수있는 컨트롤러 함수 대신 지시문을 사용하는 이유입니다.
보기 : 보이는 아무것도 요소 클릭에서 발생하지 않지만, 내가 DevTools로의 menuCtrl.menuVisible를 확인할 때 작업 후 true를 돌려
<div class="menu-item" ng-show="menuCtrl.menuVisible"></div>
<div class="icon" my-directive></div>
.
내가 뭘 잘못하고 있는지 설명해 주시겠습니까?
미리 감사드립니다.
이'메뉴 item'이 경우에도 'menuCtrl.menuVisible = TRUE'표시되지 않는 이유는 무엇입니까? –
아니요, 그렇지 않습니다. 컨트롤러에 별도의 함수를 만들고 ng-click을 사용하여 함수를 적용했는지 확인했습니다. 작동하며이 옵션을 사용할 수 있지만 지시문을 사용하여 동일한 작업을 수행하는 방법을 알고 싶었습니다. 미래를 위해서. –
지시어 내에서'menuCtrl'을 어디에서 가져 옵니까? 어떻게 코드 범위를 추가했는지 보여주기 –