Как передать параметр 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}');
});