Angular 9 не удалось получить параметры маршрута внутри субмодуля - PullRequest
0 голосов
/ 17 апреля 2020

Я столкнулся с проблемой при попытке получить параметры маршрута внутри субмодуля.

У нас есть два модуля Проект и Билет . Проект - это основной модуль, а Ticket - это субмодуль.

Маршрут, который я пытаюсь создать, похож. "project /: id / ticket /" -> "/ project / 1 / ticket /".

project-routing.module.ts

const routes: Routes = [
  {
    path: ':id',
    component: ProjectComponent,
    children:[
      {
       path: 'ticket',
       loadChildren: () => import('../ticket/ticket.module').then(m => m.TicketModule),
      }  
   ]
  }]

Внутри этого Ticket модуля. У меня есть компонент под названием вид. где мне нужен идентификатор проекта, который находится в URL-адресе маршрута "/ project / 1 / ticket". Я попробовал следующий код, чтобы получить параметр маршрута. Но я получаю только значение undefined .

ticket-routing.module.ts

const routes: Routes = [ {
  path: '',
  component: ViewComponent
}]

view.component.ts

  this.route.parent.params.subscribe(params => {  // Here params giving -> {}
    this.projectId = +params["id"];
  });

Я не могу получить параметры маршрута внутри этого субмодуля.

Заранее спасибо.

1 Ответ

3 голосов
/ 17 апреля 2020

Вам не нужно обращаться к parent из route. Попробуйте сделать

this.route.paramMap.subscribe(params => {
    this.projectId = +params.get('id');
});
...