Nir*_*han 2 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/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]);
}
}
Run Code Online (Sandbox Code Playgroud)
你可以把它包装在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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1560 次 |
| 最近记录: |