Javascript 用户界面路由器页面的上一页
我有一个SPA系统,我使用ui路由器$stateProvider.state执行路由。在这种情况下,浏览器没有保存历史记录,我可以返回到最后一页,我尝试了很多方法,但都没有成功,在这种情况下,我需要当用户单击“取消”按钮时返回到最后一页,我是如何做到这一点的?您可以在Javascript 用户界面路由器页面的上一页,javascript,angularjs,routing,angular-ui-router,Javascript,Angularjs,Routing,Angular Ui Router,我有一个SPA系统,我使用ui路由器$stateProvider.state执行路由。在这种情况下,浏览器没有保存历史记录,我可以返回到最后一页,我尝试了很多方法,但都没有成功,在这种情况下,我需要当用户单击“取消”按钮时返回到最后一页,我是如何做到这一点的?您可以在状态更改成功上添加一个事件,以将您的上一个状态保留在内存中: $rootScope.$on('$stateChangeSuccess', function (ev, to, toParams, from, fromParams) {
状态更改成功
上添加一个事件,以将您的上一个状态保留在内存中:
$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.previousState.name);
注意:使用stateChangeStart
也可以工作。我在“取消”按钮中输入的此事件单击?@DiogoSoares不,这是一个常规事件,我建议您将其放入app.run()
。是的,可以。非常感谢,只有一个人认为命令是“$state.previousState.name”,你能分享你创建的状态吗?