#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', ... }