2014-09-11 2 views
0

범위 변수에 문제가 있습니다. 사실 , 나는 우리가 함께 추가 된 네비게이션 바 찾을 수있는 index.html 파일이 할 NG는-포함ng-include 및 ng-view의 범위 변수

<div class=col-xs-9 sidebar-offcanvas" id="sidebar" role="navigation ng-include="'views/common/navside.html'"></div> 

그리고 그냥 내 NG 전망이 후 : 여기

<div class="col-xs-12 content" ng-view=""></div> 

입니다 내 문제는 : 내 navbar에서 나는 내가 로그인했는지 여부를 보여 주며, 로그 할 때보기는 $ location.path로 바뀌고 $ scope. $ parent 변수를 사용자의 로그인으로 초기화합니다. 페이지를 새로 고치면 navbar에 $ scope. $ parent 변수가 생기지 만, 아무 것도 표시되지 않고 "로그인"선택 항목이 있습니다.

내 navside.html 페이지 검색 나는이 일을 해요로 올바른 변수 :

<div ng-if="$parent.login.length > 0"> ... </div> 
<div ng-if="$parent.login.length == 0"> ... </div> 

거기에 어떤 방법은 NG-포함하고 NG-보기에 공통 범위 변수가 할 수있는? .

답변

0

내 대답은 간단 감사 : 사용 $ rootScope $ 방송 ('로그인'); 로그인 할 때.

그리고 네비게이션 바에 Ctrl 키에서

:이 도움이

$rootScope.$on('Login', function() { 
    // set the $scope.$parent variable 
}) 

희망.

+0

나는 이것을 시도하고 연락을 유지합니다! 감사합니다 – guigui

+0

WORKED! 고맙습니다 ! 로그인 컨트롤러에서 앞으로 올 수있는 사람들에 대한 자세한 정보를 제공하려면 $ rootScope. $ broadcast ('login', loginVariable); 내 탐색 컨트롤러에서 : $ root (로그인, function (이벤트, 데이터) { $ scope. $ parent.login = data; }); – guigui