찾다

 >  Q&A  >  본문

angular.js - AngularJS 마스크 레이어 표시 문제

문제가 발생했는데 어떻게 해결해야 할지 모르겠습니다. 문제가 어디에 있는지 아는 사람이 도움을 줄 수 있기를 바랍니다.

페이지에서 p를 클릭하여 마스크 레이어를 동적으로 표시하고 싶습니다.
이제 표시를 제어하는 ​​p에 ng-click='showFav()'를 추가하고, 마스크 레이어의 표시를 원하는 마스크 레이어의 가장 바깥쪽 p에 ng-show='showMenu'를 추가합니다. $scope.showMenu 값을 통해 제어됩니다.

이제 문제는 내 페이지의 $scope.showMenu 값이 showFav()에서 true로 설정된 후 마스크 레이어가 표시되지 않는다는 것입니다.

디버깅 중에 showFav를 실행한 후 showMenu의 값이 false로 변경되는 것을 발견했습니다. 나는 이것을 이해하지 못한다. . .

showMenu 값을 수정한 후 $scope.$apply()를 해야 하나요??? 그런데 오류가 보고됩니다: [$rootScope:inprog], 매우 편리합니다. . .

으아아아

페이지

으아아아
我想大声告诉你我想大声告诉你2816일 전805

모든 응답(2)나는 대답할 것이다

  • 淡淡烟草味

    淡淡烟草味2017-05-15 17:08:36

    1. 기본 유형 값을 범위에 직접 입력하지 마세요. vm 객체를 정의하여 이러한 값을 저장할 수 있습니다. 이렇게 하면 다음과 같은 이상한 문제를 피할 수 있습니다. 으아악

    2. 페이지 구조가 어떤지, 클릭 이벤트를 바인딩하는 p와 마스크 레이어의 관계를 모르니 html을 게시하고 살펴보는 것이 좋습니다.

    회신하다
    0
  • 大家讲道理

    大家讲道理2017-05-15 17:08:36

    지시문이 지시문의 범위를 정의하지 않는 경우 이는 상위 항목과 동일한 범위를 공유하므로 지시문 템플릿에서 직접 사용할 수 있음을 의미합니다

    으아악

    표시 여부를 제어합니다.

    물론 마스크 레이어를 전역으로 만들어 어디에서나 사용할 수 있습니다.
    다음과 같이 독립적인 범위를 정의합니다.

    으아악

    명령은 다음과 같이 작성됩니다.

    으아악

    컨트롤러에서 showMenu 값을 정의하기만 하면 됩니다.

    회신하다
    0
  • 취소회신하다