2016-08-18 76 views
-2

我有2個狀態:角UI路由器狀態迷糊(關閉)

$stateProvider 
    .state('page-0', { 
     url: '/', 
     templateUrl: 'modules/page-0/page-zero.html', 
     controller:'page0Controller' 
    }) 
    .state('page-1', { 
     url: '/:url', 
     templateUrl: 'modules/page-1/page-one.html', 
     controller:'page1Controller' 
    }) 

當我去/它去page-0一個短暫的時間,然後進到page-1。如果沒有params停留在page-0,我如何使/?當我去/something它應該繼續到page-1

謝謝。

UPDATE

對不起!其實上面的代碼工作得很好,我剛剛發現我的邏輯有一個小故障。我在我的page-0控制器上做了$state.go()。真的對不起。

+0

這些真實的名稱是:「page-0」還是「page-1」?,因爲我相信這些名稱是無效的。嘗試使用'page0'和'page1' – radyz

+0

他們正在以這種方式工作。 @radyz – CENT1PEDE

+0

將我的評論轉換爲進一步幫助的答案:) – radyz

回答

-1

兩種狀態基本上是相同的狀態page-0相同page-1不帶參數,所以你應該做的是合併這兩個狀態page和默認值添加到url參數這樣

.state('page', { 
     url: '/:url', 
     templateUrl: 'modules/page-1/page-one.html', 
     controller:'pageController', 
     params:{ 
      url:null 
     } 
}) 

和在pageController檢查如果參數null或不喜歡這個

angular.module('myApp').controller(function($stateParams){ 
    if($stateParams.url == null){ 
    //do something ; pretend you are in page-0 
    }else{ 
    //do something ; pretend you are in page-1 
    } 
}); 

UPDATE:這個問題第一次是正確的,但我的回答是,那些問題描述的問題同樣存在。

+0

不,「page-0」和「page-1」是兩種不同的狀態。 – CENT1PEDE

+0

你的答案只是造成更多的困惑。只是閱讀更新。 – CENT1PEDE

+0

@ TheGreenFoxx我的答案對於第一個問題是正確的,爲什麼我會在他改變他的問題時就投票。 – Miqe