Как передать параметр routerLink, который находится где-то внутри URL-адреса?

Я знаю, что могу передать параметр routerLink для таких маршрутов, как

/user/:id

написав

[routerLink]="['/user', user.id]"

но как насчет маршрутов, таких как этот:

/user/:id/details

Есть ли способ установить этот параметр или я должен рассмотреть другую схему URL?

Ответ 1

В вашем конкретном примере вы бы сделали следующее routerLink:

[routerLink]="['user', user.id, 'details']"

Для этого в контроллере вы можете ввести Router и использовать:

router.navigate(['user', user.id, 'details']);

Больше информации в разделе " Параметры угловых документов" в разделе " Маршрутизация и навигация"

Ответ 2

Может быть, это действительно поздний ответ, но если вы хотите перейти на другую страницу с параметром, вы можете,

[routerLink]="['/user', user.id, 'details']"

также вы не должны забывать о конфигурации маршрутизации, как,

 [path: 'user/:id/details', component:userComponent, pathMatch: 'full']

Ответ 3

Сначала настройте в таблице:

const routes: Routes = [  
{
  path: 'class/:id/enrollment/:guid',
  component: ClassEnrollmentComponent
 }
];

теперь в коде сценария типа:

this.router.navigate(['class/${classId}/enrollment/${4545455}']);

получать параметры в другом компоненте

 this.activatedRoute.params.subscribe(params => {
  let id = params['id'];
  let guid = params['guid'];

  console.log('${id},${guid}');
  });