2017-03-23 70 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” –