2012-09-07 4 views
9

누군가가 URL 경로를 변경하는지 알 수있는 방법이 있는지 궁금합니다.

<a ng-href="#/somewhere">To somewhere</a> 

나는 이 사용을했다 : 예를 들어

, 내 HTML에서 이런 일이 그러나

$scope.$on('$routeChangeSuccess', function (scope, next, current) { 
    //Some code 
}) 

을, 난 그냥이 실행해야 실현 URL을 변경하기 전에 코드를 작성하십시오. 이 방법을 사용할 수 있습니까? 또한 nextcurrent을 사용하면 어디에서 리디렉션되는지 알 수 있습니다.

답변

24

경로 변경 전에 실행되는 $routeChangeStart 이벤트가 있습니다. 그것은 다음과 현재 매개 변수를 모두 지원합니다. 따라서, 귀하의 사용 사례를 충당하기 위해 당신은 쓸 수 있습니다 : 당신은 다른 이벤트를 볼 수 $ 경로 문서 (https://docs.angularjs.org/api/ngRoute/service/$route)을 확인 할 수 있습니다 http://jsfiddle.net/pkozlowski_opensource/9MnE9/

: 여기

$scope.$on('$routeChangeStart', function(scope, next, current){ 
     console.log('Changing from '+angular.toJson(current)+' to '+angular.toJson(next)); 
}); 

행동이를 설명 전체 jsFiddle입니다 $ route 서비스에 의해 방출된다.

+1

대단히 감사합니다! 이것은 내가 찾고 있었던 바로 그 것이다! – Tomarto

+2

감사합니다. 하지만 첫 번째 인수는 실제로 이벤트입니다. – bullgare