2016-04-04 6 views
0

このアプリのページは、X,YZです。ルーティングは次のようにする必要があります。Xに行き、詳細を選択してからYに行き、さらに詳細を選択してZに行きます。だから、Zページに行くと、ウィンドウバックボタンをクリックすると、ページXに行き、ページYには行かなくてはなりません。 YからZに行く間に、を$state.goに追加しようとしましたが、動作しません。どのようにそれを達成するための任意のアイデア?ui-routerは以前の状態を変更します

おかげ

+0

シンプルな解決策は、XとZの2つの状態しか持たないということです.Xページの詳細を選択してYに行くと、 'ui.router'でYに行くのではなく、現在のdivを隠してdivそれでは、Yの内容を持っています。さらに詳細を選択すると、 'ui.router'を使ってZに行きます.. – AdityaParab

+0

@AdityaParab、私は別のページ' Y'を必要とします – AbKDs

+0

'page'を意味しますか?ルート? – AdityaParab

答えて

2

あなたが状態を変更するたびに、角度がイベントをトリガーする、あなたがそれを使用することができ、$stateChangeStartと呼ばれますあなたの利点に。あなたの問題はこれで解決されますので、あなたのapp.run、バック

app.run(function($rootScope,$state){ 
    $rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) { 
     //Check if you're going from Z to Y 
     if(fromState.name === 'Z' && toState.name === 'Y'){ 
      // if so, first stop the default behavior 
      event.preventDefault(); 
      // then navigate to X 
      $state.go('X'); 
     } 
    }); 
}); 

にブラウザを行うボタンで

は、本質的に同じイベントをトリガします。

+0

それは感謝の男を働いた:) – AbKDs

0

この が...のような$のstate.goにあなたの状態を与えるように実行します。 $state.go('y')

+0

それはポイント、ブラウザの戻るボタンでそれを行う方法です – AbKDs

関連する問題