我在控制器中使用了$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;