Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用户界面路由器页面的上一页_Javascript_Angularjs_Routing_Angular Ui Router - Fatal编程技术网

Javascript 用户界面路由器页面的上一页

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) {

我有一个SPA系统,我使用ui路由器$stateProvider.state执行路由。在这种情况下,浏览器没有保存历史记录,我可以返回到最后一页,我尝试了很多方法,但都没有成功,在这种情况下,我需要当用户单击“取消”按钮时返回到最后一页,我是如何做到这一点的?

您可以在
状态更改成功
上添加一个事件,以将您的上一个状态保留在内存中:

$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”,你能分享你创建的状态吗?