Angular 角度2获取父路径

Angular 角度2获取父路径,angular,angular2-routing,Angular,Angular2 Routing,是否仍然可以使用提供的激活路由获取父路由集合 如果我有嵌套的管线结构,如: [ { path: 'search', component: SearchComponent, children: [ { path: 'view/:id', component: ViewSearchComponent, children: [ { pa

是否仍然可以使用提供的激活路由获取父路由集合

如果我有嵌套的管线结构,如:

[
    {
        path: 'search', component: SearchComponent, children:
        [
            {
                path: 'view/:id', component: ViewSearchComponent, children:
                [
                    { path: 'person/:id', component: PersonComponent }
                ]
            },
        ]
    }
]
[
  { part: 'search' }
  { part: 'view/3' }
  { part: 'person/5' }
]
我的url如下所示:
/search/view/3/person/5

我如何将其转化为某种结构,如:

[
    {
        path: 'search', component: SearchComponent, children:
        [
            {
                path: 'view/:id', component: ViewSearchComponent, children:
                [
                    { path: 'person/:id', component: PersonComponent }
                ]
            },
        ]
    }
]
[
  { part: 'search' }
  { part: 'view/3' }
  { part: 'person/5' }
]

我已经查看了URLTree和urlsecgments,但是看起来它无法区分参数和路径

您可以注入
ActivatedRoute
,然后迭代
parent
属性,直到没有


您可以运行以下代码,它将返回您想要的相同对象

  import {ActivatedRoute} from '@angular/router';

  export class Component {

       constructor(private route: ActivatedRoute){
              let pathroots = this.route.pathFromRoot;
              let arr = [];
              pathroots.forEach(path => {
                  let obj: any = {};
                  let pathurl = '';
                  path.url.subscribe(url => {
                       url.forEach(e => {
                          pathurl += e + '/';
                       });
                  });
                  obj['part'] = pathurl;
                  arr.push(obj);
             });
             console.log(arr,'*******************');
           }

 }

多亏了冈特,我自己想出了办法。这应该足以在组件上实现某种面包屑特性。它与Vikash几乎相同,但有点“rxjs'y”


当我看到你的答案时,我已经写了一些东西,但是它们看起来几乎一样。谢谢