AngularJs通过URL获取路由
有没有办法通过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
/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;
}