所以我有一个用户可以提供如下网址的场景:
http://localhost:8080/#/component?id=1234
AngularUI做的第一件事是检查用户是否获得授权。 如果未经授权,则使用
转发到登录页面$state.go("login");
我打算在
中记录网址$rootScope.$on("$stateChangeStart"....
将其保存在rootscope中,然后在登录完成后转发到该URL。 但是,我似乎找不到使用查询参数组件维护URL的方法?id = 1234。我应该使用$ location还是$ state。我只能使用州名(使用$ state)而不是参数。
答案 0 :(得分:0)
我不知道你的解决方案是否是最好的解决方案。但是如果你想这样做,你可以简单地写一个这样的函数:
$rootScope.$on("$stateChangeStart", function(event, toState, toParams, fromState, fromParams){
/* your code here */
})
您可以通过执行以下操作导航到任何具有任何参数的状态:
$state.go("state_name",{/*parameters as an object e.g. id:1234*/});
您还可以阅读角度ui-router页面上的wiki。 希望我能回答你的问题。
答案 1 :(得分:0)
事实证明我可以使用$ location对象。
在rootScope中存储$ location.url()。然后使用$ location.url(savedUrl)导航以重定向它。