AngularJs通过URL获取路由

AngularJs通过URL获取路由,angularjs,angularjs-routing,Angularjs,Angularjs Routing,有没有办法通过URL获取路线 我的意思是我有一个路由/users/:id,我使用$route var route_object=($route.routes['/users/:id']) 但是是否可以使用此URL获取路由/users/5 所以当我尝试 var route_object=($route.routes['/users/5']) 我得到的是未定义的值。否,没有内置方法通过相应的url获取路由对象。不过,只需几行代码就可以轻松完成。其思想是根据正则表达式测试url路由: var url

有没有办法通过URL获取路线

我的意思是我有一个路由
/users/:id
,我使用
$route

var route_object=($route.routes['/users/:id'])

但是是否可以使用此URL获取路由
/users/5

所以当我尝试

var route_object=($route.routes['/users/5'])


我得到的是未定义的值。

否,没有内置方法通过相应的url获取路由对象。不过,只需几行代码就可以轻松完成。其思想是根据正则表达式测试url路由:

var url = '/users/5/';

for (var path in $route.routes) {
    if ($route.routes[path].regexp && $route.routes[path].regexp.test(url)) {
        console.log('found route:', $route.routes[path]); 
    }
}
您可以将其包装在helper函数中,并放入一些util服务或控制器中:

function getRouteByUrl(url) {
    for (var path in $route.routes) {
        if ($route.routes[path].regexp && $route.routes[path].regexp.test(url)) {
            return $route.routes[path]; 
        }
    }
    return null;
}