如何在AngularJS中获取当前路径的路径名?

时间:2016-03-06 19:31:11

标签: angularjs

我正在寻找一种方法来检索当前路线的路径名称,因为我在$routeProvider中定义了路径名称,即/customer/:id

$location.path()会返回路径/customer/1,但不会返回路径名/customer/:id

我发现$route.current.$$route.originalPath可以完全返回我需要的内容。但是,我非常希望不必依赖私人方法。

是否公开等同于$route.current.$$route.originalPath

3 个答案:

答案 0 :(得分:1)

不确定您是否找到了另一种方法来执行此操作,并且在我调试某些路由问题时碰巧遇到了这个问题 -

AFAIK是获得您所需要的唯一方法是使用:

$route.current.$$route.originalPath

另一种处理方法是使用routeChangeStart / routeChangeSuccess等广播事件来正式知道哪条路线已经解决。

$rootScope.$on('$routeChangeSuccess', function (event, next, prev) {
    console.log(next.$$route.originalPath);
});

答案 1 :(得分:0)

您可以使用

$state.$current.url.sourcePath

但它也有点hacky :))

答案 2 :(得分:0)

Try

$route.current.originalPath