2013-04-10 2 views
1

의 끝에 해시를 추가하지AngularJS와 routeProvider 내가 다음 routeProvider가 설정 한 URL

나는 또한 템플릿/대시 보드가

.html이 적절하게 정의되었습니다.

URL로 이동하면 초기 페이지가로드되지만 #은 URL에 후속 처리되지 않으므로 $location.path('fooPath') 컨트롤러의 URL을 다시 쓰려고하면 오류가 발생합니다.

current_dashboard_path/#/, 다음 location('fooPath')current_dashboard_path/#/fooPath

몇 가지 추가로 그것을 변경하는 : 내가 무엇을 기다리고 있었다하는 동안 URL로 설정하는 용도의 $location.path('fooPath')

current_dashboard_path/#/ 및 다시로드의 URL을 변경 문맥 : 나는 내가 # 어를 postpend하는 각도 강제 할 수있는 방법, 그때 따라서

질문이 페이지를 다시로드하지 않고 URL을 변경하려면 $location 서비스를 사용할 수 있도록이를 사용하려면 보기가 채워집니다. 내 routeProvider에 다음 줄 실종됐다

+0

$ location.hash ('value')를 살펴 보았습니까? ? – ilcavero

+0

$ location.hash ('value'); 경로를 current_dashboard_path ## 값으로 변경합니다. current_dashboard_path/#/value는 올바른 경로 매개 변수를 전달하지 않습니다. –

답변

1

: 또한

.when '/', 
     templateUrl: '/templates/dashboard.html' 

, 빈 경로를

.when '', 
    templateUrl: '/templates/dashboard.html' 

그런 다음 다시로드하지 않고 URL을 다시 작성하는 방법을

을 제거 할 필요 페이지는 컨트롤러에서 다음과 같습니다 :

lastRoute = route.current 

scope.$on('$locationChangeSuccess', (event)-> 
    route.current = lastRoute 
)