2014-09-21 2 views
0

어떻게 가능 난 단지에 그것을 얻을이UI 라우터의 URL PARAMS

/home 
/:username 
/:title/editor 

같은 계층 구조에서의 URL PARAMS을 가지는 UI 라우터 모듈의 $ stateProvider에 URL 경로를 설정하는 내가 처음 예제처럼 설정하려고하면

/home 
/user/:username 
/editor/:title 

는 지금 모든 /home에 라우터 것 같은 동일한 계층 구조 수준에 충돌이없는 경우 작동합니다.

Google Appengine과 같은 다른 상황에서는 첫 번째 접근 방식이 효과적이며 계층 구조의 한 종류로 간주되는 곳에서 알고 있습니다. /:username 경로가 '집'과 동일하지 않은 경우 적용됩니다.

도움 주셔서 감사합니다.

답변

0

나는 이것이 가능해야한다고 말하고 싶습니다. 이 (example 참조) 작동합니다 :

$stateProvider 
    .state('home', { 
    url: '/home', 
    templateUrl: 'test.html', 
    controller: 'TestCtrl', 
    }) 
    .state('editor', { 
    url: '/:title/editor', 
    ... 
    }) 
    .state('user', { 
    url: '/:userName', 
    ... 

here을 준수하십시오. 상태 편집기가 강력한 키를 가지고 있기 때문에 (/editor) userName 전에 평가됩니다. 가정용도 마찬가지입니다. 첫 번째 평가 패턴입니다.

하지만 주문하시지 마십시오. 이러한 식별자는 처음에 사용하십시오 (예 :/user/... 또는/editor/..). 사용자들도이를 이해할 것이고 나중에 혼란스러워 할 것입니다. (이 URL이 왜 그 국가를 방아쇠를 당겼는지) 놀라지 않을 것입니다.

+0

귀하의 답변에 감사드립니다! –

+0

그게 도움이된다면. 'ui-router '를 즐기십시오! –

관련 문제