Angular 2如何从URL

时间:2017-05-06 18:49:02

标签: angular

我有这样的教科书路线:

{ path: "browse/:id", component: BrowseComponent },

我想要做的是当激活的路线类似

时能够获得尾随路径部分
http://localhost:4200/browse/a/b/c/d

所以id将被设置为“a / b / c / d”。有没有一种标准的方法呢?

2 个答案:

答案 0 :(得分:2)

this.router.urlhttps://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
    }
});

这将使我获得当前路线

例如,在此路线的情况下

  

http://localhost/browse/a/b/c/d

它会给我

  

/浏览/ A / B / C / d

您可以轻松操作此网址供您使用。

想知道你的父母组件是什么,只有一个import { Router, ActivatedRoute, ParamMap, NavigationStart, NavigationEnd } from '@angular/router';