2013-02-21 2 views
24

$locationChangeSuccess$locationChangeStart의 차이점은 무엇입니까?

이들은 모두 window.location과 관련된 문서화되지 않은 이벤트입니다.

답변

42

서비스 ($location.path(), $location.search())를 통해 수행 된 돌연변이를 기반으로 AngularJS가 브라우저의 위치를 ​​업데이트하기 시작하면 $locationChangeStart이 실행됩니다.

응용 프로그램이 $locationChangeStart 이벤트를 수신하고 preventDefault()을 호출 할 수 있습니다. 이 경우 두 번째 이벤트 ($locationChangeSuccess)는 브로드 캐스트되지 않습니다.

요약하면 위치가 업데이트되면 $locationChangeStart이 발생합니다. 첫 번째 조치가 방지되지 않으면 $locationChangeSuccess이옵니다.

소스 코드의 관련 비트는 여기에 있습니다. https://github.com/angular/angular.js/blob/2508b47c1a34dfc834f8fde858574f81af4d287e/src/ng/location.js#L598