2014-09-21 69 views
0

怎麼可能設置URL路徑與網址參數的UI路由器模塊的$ stateProvider層次結構中的這樣UI路由器網址參數與層次

/home 
/:username 
/:title/editor 

我只得到它

/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/..)。我們的用戶,也將理解它,以及任何後來的混亂(爲什麼這個網址觸發該狀態)不會讓我們感到驚訝

+0

感謝您的回答! – 2014-09-21 16:36:05

+0

很好,如果有幫助。享受'ui-router'! – 2014-09-21 16:55:22