我有这样的教科书路线:
{ path: "browse/:id", component: BrowseComponent },
我想要做的是当激活的路线类似
时能够获得尾随路径部分http://localhost:4200/browse/a/b/c/d
所以id将被设置为“a / b / c / d”。有没有一种标准的方法呢?
答案 0 :(得分:2)
从this.router.url
(https://angular.io/docs/ts/latest/api/router/index/Router-class.html#!#url-anchor)获取路径,然后使用slice或substring等方法解析路径
答案 1 :(得分:1)
迟到回答,但如果你仍然遇到同样的问题我就是如何解决同样的问题..
这是我的路线
sys.stdin.readlines
我已将{
path: 'browse',
component: ParentBrowseComponent,
children : [{
path: '**',
component: BrowseComponent
}]
}
定义为父路由,并为其定义了browse
子路由。 Child正在使用**
作为组件,而Parent正在使用BrowseComponent
。
在我的BrowseComponent构造函数中,我正在使用
检测url中的更改ParentBrowseComponent
像这样导入路线
_router.events.subscribe((val) => {
console.log(val);
if(val instanceof NavigationEnd) {
var url = this._router.url;
//do anything with url
}
});
这将使我获得当前路线
例如,在此路线的情况下
它会给我
/浏览/ A / B / C / d
您可以轻松操作此网址供您使用。
想知道你的父母组件是什么,只有一个import { Router, ActivatedRoute, ParamMap, NavigationStart, NavigationEnd } from '@angular/router';