Angular routerLink 相对于可变路由参数

Angular routerLink relative to a variable route parameter

我有一个 Angular 应用程序,其中根目录是一个可变路由参数:

/:demo_profile/(etc).

我不能使用相对路径,因为我的 routerLink 可以从不同的地方获得 components/routes。

如何设置一个 routerLink 相对于我网站根目录的目标,后跟这个参数?即

/SomeRoute/home

我的路线:

const routes: Routes = [
  {
    path: ':demo_profile',   
    children: [
      {
        path: '',
        redirectTo: 'home',
        pathMatch: 'full'
      },
      {
        path: 'home',    
        component: HomeComponent,
      },
      {
        path: 'cards',    
        component: CardsComponent,
      },
      {
        path: 'card/:id',    
        component: CardComponent,
      },
      {
        path: 'help',    
        component: HelpComponent,
      },
      {
        path: '**',    
        redirectTo: ':demo_profile',
      }
    ]
  },
  {
    path: '\**',    
    redirectTo: '/DGInsureCo/home',
  }
];

虽然不理想,但解决方案包括获取当前 URL 路径,然后按照以下内容重建路由器 link:

模板中的路由器链接:

<a routerLink="/{{demo_profile}}/home">Home</a>

然后使用 activatedRoute:

引用 this.demo_profile
this.route.params.subscribe( params =>
      this.demo_profile = params['demo_profile']
    )

或:

activatedRoute.snapshot.url[0].path