如何在状态之间保留查询参数?

时间:2015-01-26 01:57:48

标签: angularjs angular-ui-router

如何通过每个状态保留查询参数?例如,假设用户试图访问链接,但需要先登录才能返回该页面,那么如何将用户路由回页面以及保留所有查询参数?我花了几个小时试图解决这个问题,但无法让它发挥作用。

我已经简要介绍了UrlMatcher,我不清楚这是否是我需要的,因为文档缺乏。我尝试使用transitionTo传递url params,这不是一个很好的解决方案,因为我必须在所有状态下复制支持。

2 个答案:

答案 0 :(得分:1)

您可以像这样获取两个州的数据。

$rootScope.$on('$stateChangeStart', function(event, toState, toParameters, fromState, fromParameters) {

//You can also see the complete url of the previous state.
console.log(fromState.url);

})

使用参数和起始状态的url我认为你可以解决你的问题。

答案 1 :(得分:1)

我认为您可以使用状态继承,指定抽象根状态,配置一些共享数据,或者您可以使用它来存储查询参数,请参阅this