2017-03-23 71 views
1

我有一個SPA系統,並執行路由我使用的ui路由器$ stateProvider.state和這種情況下,瀏覽器不保存的歷史,我可以返回到最後一頁,我嘗試了很多東西,但沒有工作,在這種情況下,我需要當用戶點擊取消按鈕,他返回到最後一頁,我如何做到這一點?以前用頁面與ui路由器

+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

是的,沒關係。非常感謝你 只有一個人認爲命令是「$ state.previousState.name」 –