如何获得以前的URL与$窗口的帮助



我在控制器中使用了$window service

在某些地方,我需要得到以前的URL。

任何想法我怎么能得到以前的URL与$窗口服务的帮助?

要获取最后一条路由,你需要使用以下事件之一:

$scope.$on('$locationChangeStart',function(event, newUrl, oldUrl) {
    //...
});
$scope.$on('$locationChangeSuccess',function(eventt, newUrl, oldUrl) {
    //...
});

$locationChangeStart事件在URL更改前广播,$locationChangeSuccess事件在URL更改后广播。更多信息请看这里。


如果你只是想回到之前的路由,试试这个:

$window.history.back();
App.run(function($rootScope) {   
      $rootScope.$on('$routeChangeStart', function(evt, newUrl, oldUrl){   
      console.log('success', oldUrl.templateUrl); });    
});

您应该使用:document.referrer来检查前面的URL。

或者在run函数中,您可以收听$locationChangeStart$locationChangeSuccess

$scope.$on('$locationChangeStart',function(evt, absNewUrl, absOldUrl) {
   console.log('start', evt, absNewUrl, absOldUrl);
});
$scope.$on('$locationChangeSuccess',function(evt, absNewUrl, absOldUrl) {
   console.log('success', evt, absNewUrl, absOldUrl);
});

返回:
$window.history.back();

获取URL的字符串形式:
var url = $document[0].referrer;

最新更新