2017-03-23 3 views
1

私はSPAシステムを持っていて、私はui-router $ stateProvider.stateを使用しています。この場合、ブラウザは履歴を保存せずに最後のページに戻ることができます。多くのことを試して、まだ動作しませんでした。この場合、ユーザーが[キャンセル]ボタンをクリックすると、最後のページに戻ります。どうすればいいですか?ui-routerのページに戻る

+0

あなたが作成した状態を共有できますか? –

答えて

1

あなたはメモリ内にあなたの最後の状態を維持するためにstateChangeSuccessにイベントを追加することができます。

$rootScope.$on('$stateChangeSuccess', function (ev, to, toParams, from, fromParams) { 
    /* Here, from is the previous page you want to recover */ 
    /* For example: */ 
    $state.previousState = from; 
}); 

あなたは$state.goでそれを使用することができるようになります。

$state.go($state.previousState.name); 

注:使用してstateChangeStartも同様に動作する可能性があります。

+0

キャンセルボタンをクリックするとこのイベントが表示されますか? –

+1

@DiogoSoaresいいえ、それは一般的な出来事です、私はあなたの 'app.run()'に入れることをお勧めします。 – Mistalis

+1

はい、問題ありません。ありがとうございました ちょうど1つのコマンドが "$ state.previousState.name"だと思います –

関連する問題