2013-12-11 3 views
2

중첩 된 루트 상태에 대한 폴백을 정의하는 방법은 AngularJs에 있습니까?기본 폴백 상태를 AngularJS로 설정하는 중첩 된 상태를 설정하는 방법

난 타의 추종을 불허하는 URL이

$urlRouterProvider.otherwise("/operations/home"); 

발견하지만 난 중첩 된 상태를 사용하는 경우 기본 유형에 따라 대체를 설정하려고 할 때 홈페이지로 사용자를 리디렉션하려면 다음 있습니다. 예를 들면. 내가 /admin/some_thing_unknown을 얻는 경우에 나는 다음을 사용하려고 /client/home

/admin/home/client/some_thing_unknown 리디렉션로 리디렉션하고 싶지만, 문제가 해결되지 않습니다.

$urlRouterProvider 
    .when("/admin", '/admin/home') 
    .otherwise("/client/home"); 

이것은 단지 그렇지 않으면 /admin/admin/home에 아무것도 /client/home로 리디렉션됩니다 리디렉션합니다.

도이를 달성 할 수 있습니까? 당신은 otherwise에 함수를 전달하고 일부 로직을 추가 할 수 있습니다, 키란

답변

0

을 어느 $stateProvider 또는 $urlRouterProvider

감사를 사용하여 시도 된 URL을 기반으로 대상 URL을 파악하는

Try it out on JsFiddle

$routeProvider 
.when('/page1', { 
    controller: 'MyCtrl', 
    templateUrl: 'page1.html' 
}) 
.when('/page2', { 
    controller: 'MyCtrl', 
    templateUrl: 'page2.html' 
}) 
.otherwise({ 
    redirectTo: function(routeParams, path) { 
     //this would extract "page1" from "/page1/anything" 
     return path.split("/")[1]; 
    } 
}); 
+0

감사합니다. 그것은 $ stateProvider처럼 작동하지 않으므로 $ routeProvider 대신 $ urlRouterProvider를 사용해야했습니다. – Kiran

관련 문제