【发布时间】:2016-08-24 08:09:00
【问题描述】:
我知道我可以使用 $location.search() 和 $location.path() 获取当前 URL,但我需要一种获取上一个 URL 的方法。我可以使用全局变量或类似的东西吗?
【问题讨论】:
-
document.referrer适合你吗?在那种情况下,这个问题可能是一个骗子stackoverflow.com/questions/3528324/…
我知道我可以使用 $location.search() 和 $location.path() 获取当前 URL,但我需要一种获取上一个 URL 的方法。我可以使用全局变量或类似的东西吗?
【问题讨论】:
document.referrer 适合你吗?在那种情况下,这个问题可能是一个骗子stackoverflow.com/questions/3528324/…
您可以使用例如 ui-router 来控制应用程序的流程,并且使用此库,通过将其保存在 $stateChangeSuccess 事件中来轻松实现 previousState。
【讨论】:
您可以在监听 $routeChangeSuccess 事件时执行此操作。参数是currentRoute 和previousRoute。您也可以使用 $locationChangeStart 并自己保存当前路线。
看这里:
【讨论】:
Angular $rootScope 将拥有您所有应用组件的所有信息。
在下面$location$rootscope 上注入的服务将为您提供路线信息。
$rootScope.$on('$locationChangeStart', function (event, current, previous) {
console.log("Previous URL" +previous);
});
【讨论】: