2013-07-08 1 views
4

최근에 AngularJS에서 문서화되지 않은 $ locationChangeStart 이벤트에 대해 알았습니다. 프레임 워크에서 세션이 유효하지 않은 경우 사용자를 로그인 페이지로 리디렉션해야하는 위치를 결정할 때입니다.

나는 다음을 사용하여 이벤트에 대해 듣고있어 :

$scope.$on("$locationChangeStart", function (event, nextLocation, currentLocation) { 
    // Logic goes here 
}); 

nextLocationpreviousLocation 앱 내의 위치에 절대 URL입니다.

내 질문은 : AngularJS는 내부 URL 엔진이 절대 URL이 정의 된 경로와 일치하는지 확인하는 것처럼 URL을 경로와 비교할 수있는 기능을 제공합니까?

그렇지 않은 경우 절대 URL을 기반으로 경로를 검색하는 가장 좋은 방법은 무엇입니까?

답변

3

AngularJS github 프로젝트에 관련 소스 코드 줄이 있습니다. Here은 URL을 경로와 일치시키는 데 사용하는 함수입니다.

이 기능은 Angular에서 노출되지 않았으므로 일치하는 경로가 URL과 일치하는 기본적인 방법을 찾기로했습니다. Angular와 동일한 경로 일치를 구현하는 것과 비교하면 상대적으로 간단합니다. 그 또 다른 방법 그래서

, 난 그냥 당신이 이벤트 콜백 내에서() $ location.path를 사용하는 경우, 당신은 훨씬 청소기 경로를 얻을 수 추가하고 싶었

+7

.. 꽤 아니지만, 그것은 작동 그것을하기 위해. – JayPea

+2

^하지만 $ location.path()가 다음 위치가 아닌 현재 위치를 반환하는 것 같습니다. –

+0

나는 당신의 해결책을보기에 매우 호기심이 많습니다. parseRoute() 함수를 조금 수정 했습니까? – jfl