有没有办法从AngularJs中我们被重定向到哪个url。我正在写一个通用登录。因此,我想在成功登录后立即重定向到我被定向到登录的页面。为了做到这一点,我想从我的控制器中获取我被重定向到此处的Url(Current / MyLogin)。我已将$ location注入我的控制器。任何人都可以帮助我吗?
答案 0 :(得分:2)
您还没有共享任何代码,我只是告诉您如何实现目标。
是的,你可以使用$locationChangeStart
$locationChangeSuccess
$ locationChangeStart
在网址更改之前广播。
通过调用事件的
preventDefault
方法可以防止此更改。有关事件对象的更多详细信息,请参阅$rootScope.Scope
。成功更改后$locationChangeSuccess
被解雇。
newState
和oldState
参数只能在HTML5模式下定义,并且当浏览器支持HTML5历史记录API时。
$scope.$on('$locationChangeStart',function(event, absNewUrl, absOldUrl){
console.log('start', event, absNewUrl, absOldUrl);
});
$ locationChangeSuccess
更改网址后广播。
newState
和oldState
参数只能在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
});