Доступ к параметру маршрута при ленивой загрузке модуля

#angular

#угловой

Вопрос:

Маршруты, определенные в главном модуле:

 const mainRoutes = [ {  path: ':id',  component: MainComponent,  canActivate: [ LoadGuard ],  children: [  {  path: 'page',  loadChildren: () =gt; import('./page/page.module').then((m) =gt; m.PageModule),  }  ] } ]  

Маршруты, определенные в модуле «Ленивая загруженная страница»:

 const pageRoutes = [ {  path: '',  component: PageComponent,  children: [  {  path: '/hello',  component: HelloComponent  }  ] } ]  

Предохранитель для груза:

 canActivate(route: ActivatedRouteSnapshot): Observablelt;booleangt; {  console.log( route.params['id'] );  return of(true); }  

Когда выезжаете на маршрут /my-id/page/hello , охранник выше бревен hello и нет my-id .

Есть идеи, в чем эта проблема?

Комментарии:

1. Попробуйте получить доступ к router.parent.params

Ответ №1:

Вероятно, это косая черта, которая у вас есть в начале пути приветствия, которая мешает сопоставлению шаблонов. Попробуйте удалить его.

{ path: 'hello', ... }