2016-08-18 12 views
-2

私は2状態持っている:私はそれが短時間page-0に行く/に行くとき角度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-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

2つの状態は基本的に同じ状態page-0はそう何をやるべきことはpageに2つの状態をマージし、この

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

ようurlパラメータにデフォルト値を追加されたパラメータを指定せずにpage-1と同じで、 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'は2つの異なる状態です。 – CENT1PEDE

+0

あなたの答えはちょっと混乱を招いています。アップデートを読むだけです。 – CENT1PEDE

+0

@TheGreenFoxx私の答えは、彼が質問を変えたときに、なぜ私が投票を下すのだろうという最初の質問に対して正しいものでした。 – Miqe

関連する問題