项目中有一个高级参数配置页面,进来有个提示,输入正确的名称点击确定才能看到系统高级配置项,如果点击关闭的话,直接跳转回之前的页面。
跳转好做,直接 $state.go() 就可以.
但获取之前页面路由。。。查了半天百度也没有个答案,都是些 $on、$watch 的方法,尝试了好几个,也没成功。
想着 angular 框架这么高大上,肯定有方法能直接获取到上一个页面的路由信息,比如在一个渲染页面的监听里,然后参数中存着上个页面的信息。
接着突然就想到了 $transitions 。查了一下,果然,方法中的参数有 .from().name 的方法可以获取到上个页面的路由名称,获取到名称就一切都解决了。
$transitions.onSuccess({}, function (transition) { $rootScope.previewPageState = transition.from().name; console.log($rootScope.previewPageState); })