Angular - Параметры маршрута для дочерних маршрутов - PullRequest
0 голосов
/ 19 октября 2018

У меня есть следующая конфигурация маршрутизации.Как можно было бы получить доступ к : projectId , видимому в родительском маршруте, из компонента редактирования проекта?

 {
        path: 'folders/:folderId/projects/:projectId/s',
        component: ProjectDetailComponent,
        canActivate: [AuthGuardService],
        children: [
            {
                path: 'edit',
                component: ProjectEditComponent,
                canActivate: [AuthGuardService],
            },
            {
                path: 'i',
                component: IssuesListComponent,
                canActivate: [AuthGuardService],
            },
        ],        
    },

Ранее я использовал этот подход, когда у меня не было дочерних маршрутов.:

this.activatedRoute.params.subscribe((urlParameters) => {
  this.project_id = urlParameters['projectId'];
});

К сожалению, это больше не работает.

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Вы можете извлечь projectId в родительском компоненте и передать его двум дочерним компонентам, используя @ Input

0 голосов
/ 19 октября 2018

Вы должны иметь возможность доступа к параметрам родительского маршрута, используя ActivatedRoute parent свойство:

this.activatedRoute.parent.params.subscribe((urlParameters) => {
  this.project_id = urlParameters['projectId'];
});
...