如何在$ routeProvider`重定向之前获取`$ location`?

时间:2014-05-14 21:04:20

标签: angularjs redirect url-routing

我正在angularjs config中进行重定向,我可以在那里看到初始位置:

$routeProvider.otherwise({
     redirectTo: function(dummy, path, search) {
         return "/default-page";
     }
 });

问题是如何在其他地方传递这些信息。

  • 我无法在配置中注入服务。
  • 我也无法注入$rootScope(所以我无法播放它)。
  • 我可以注入$rootScopeProvider,但必须使用其$get
  • 我可以听$routeChangeSuccess,但我无法看到原来的位置。
  • 我可以听$routeChangeStart,但情况并不好。

我想要它:通过使用"魔法"解锁一个功能。像

这样的网址
.../#/cheat/a/lot?answer=43

它只是一个调试黑客,没有任何安全相关。

我想我应该采取不同的方式(正常的网页呼叫$location?),但现在我很好奇......

1 个答案:

答案 0 :(得分:1)

我很蠢。

花了很长时间试图弄清楚然后写出问题......

将$ rootScope和$location注入服务并在

中使用它
$rootScope.$on("$routeChangeStart", function() {...})