我有一个SPA系统,要做我正在使用ui路由器$stateProvider.state的路由,在这种情况下,浏览器没有将历史记录保存到我可以返回最后一页,我尝试了很多事情,但还没有工作,在这种情况下,我需要当用户单击"取消"按钮时,他返回到最后一页, 我该怎么做?
您可以在
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
也可能有效。