AngularJs获取重定向到当前的URL

时间:2015-01-30 05:32:57

标签: angularjs redirect

有没有办法从AngularJs中我们被重定向到哪个url。我正在写一个通用登录。因此,我想在成功登录后立即重定向到我被定向到登录的页面。为了做到这一点,我想从我的控制器中获取我被重定向到此处的Url(Current / MyLogin)。我已将$ location注入我的控制器。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

您还没有共享任何代码,我只是告诉您如何实现目标。

是的,你可以使用$locationChangeStart $locationChangeSuccess

这两个事件来获得
  

$ locationChangeStart

     
      
  • 在网址更改之前广播。

  •   
  • 通过调用事件的preventDefault方法可以防止此更改。有关事件对象的更多详细信息,请参阅$rootScope.Scope。成功更改后$locationChangeSuccess被解雇。

  •   
  • newStateoldState参数只能在HTML5模式下定义,并且当浏览器支持HTML5历史记录API时。

  •   
$scope.$on('$locationChangeStart',function(event, absNewUrl, absOldUrl){
    console.log('start', event, absNewUrl, absOldUrl);
});
  

$ locationChangeSuccess

     
      
  • 更改网址后广播。

  •   
  • newStateoldState参数只能在HTML5模式下定义,并且当浏览器支持HTML5历史记录API时。

  •   
$scope.$on('$locationChangeSuccess',function(event, absNewUrl, absOldUrl) {
    console.log('success', event, absNewUrl, absOldUrl);
});

另见


另一种方式是

  

状态转换完成后,事件$stateChangeSuccess被触发。

$rootScope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams){
  //fromState is what you are looking for 
});

另见