AngularJs-确定下一个位置';$locationChangeStart中的s路线

AngularJs-确定下一个位置';$locationChangeStart中的s路线,angularjs,angular-routing,Angularjs,Angular Routing,最近,我在AngularJS中发现了未记录的$locationChangeStart事件,当时我试图确定如果用户的会话无效,我应该在框架中的何处将用户重定向到登录页面 我正在使用以下命令收听事件: $scope.$on("$locationChangeStart", function (event, nextLocation, currentLocation) { // Logic goes here }); 其中nextLocation和previousLocation是指向应用程序内

最近,我在AngularJS中发现了未记录的$locationChangeStart事件,当时我试图确定如果用户的会话无效,我应该在框架中的何处将用户重定向到登录页面

我正在使用以下命令收听事件:

$scope.$on("$locationChangeStart", function (event, nextLocation, currentLocation) {
   // Logic goes here
});
其中
nextLocation
previousLocation
是指向应用程序内位置的绝对URL

我的问题是:AngularJS是否公开了能够将url与路由匹配的功能,就像其内部路由引擎查看绝对url是否与定义的路由匹配一样


如果不是,基于绝对URL检测路由的最佳方法是什么?

我在AngularJS github项目中找到了相关的源代码行。是用于将URL与路由匹配的函数:

由于Angular没有公开此功能,因此我决定提出一种将URL与路由匹配的基本方法,因为与实现Angular相同的路由匹配相比,我所匹配的路由相对简单


这并不漂亮,但很管用。

我只是想补充一点,如果在事件回调中使用$location.path(),您可以得到更干净的路由,因此这是另一种方法。^但是$location.path()似乎是返回“当前”的位置,而不是下一个位置?我很想看看您的解决方案。您是否稍微修改了parseRoute()函数?当我问这个问题时,我已经无法访问正在编写的代码了。我确信我不必修改角度源。@Erti ChrisEelmaa No,在
$locationChangeStart
中,它返回下一条路线的路径或url(您想去的地方)