2012-10-11 2 views
1

ng-view가 변경 될 때마다 공통 컨트롤러를 호출하는 방법이 있습니까? 즉 새로운 $ 경로가로드 될 때마다 공통 제어기가 호출되기를 원합니다.ng-view 용 공통 컨트롤러

답변

3

다른 경로에 대한 사용자 지정 컨트롤러를 지정한 경우 어떤 종류의 상속을 사용하지 않는 한 항상 호출되는 공용 컨트롤러를 지정할 수도 있다는 것을 알 수있는 방법이 없습니다. 기본 제어기.

대체 방법은 경로 서비스가 브로드 캐스트하는 이벤트에 가입하는 것입니다.

예 :

function MyController($rootScope, [...]) { 
    $rootScope.$on('$routeChangeSuccess', function (current, previous) { 
     // ... 
    }); 
} 

사용 가능한 이벤트 및 해당 매개 변수 here의 목록을 가지고있다.

Angular의 바인딩 메커니즘이 작동하는 방식 덕분에 뷰에서 바인딩에 사용할 수있는 $rootScope에 속성, 메서드 등을 추가 할 수 있다고 생각합니다. 현재 범위에서 찾지 못하면 부모 등을 루트 범위까지 검사합니다.

관련 문제