Angular - получить параметры маршрута из родительского маршрута - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть модуль глобальной маршрутизации, который позволяет мне правильно переходить к компонентному модулю, который загружен лениво.

Внутри компонентного модуля у меня есть дочерний маршрут, который можно правильно загрузить.Однако я не могу получить доступ к параметру userID из пути к альбомам (дочернему элементу userDetailComponent)

Я попробовал следующее, но он возвращается как неопределенный.

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

Ниже моя конфигурация маршрутизации.Любая помощь будет принята с благодарностью.

app-routing.module.ts

const routes: Routes = [
  { 
     path: 'users', 
     loadChildren: '../app/users/users.module#UsersModule' 
  },
  {
     path: 'users/:userID',
     loadChildren: '../app/component/component.module#ComponentModule' 
   }
]

component.module.ts

const routes: Routes = [
  {
    path: '',
    component: UserDetailComponent,
    children: [
      {
        path: 'albums',
        loadChildren: '../app/albums/albums.module#AlbumsModule';
      },
    ]
  },
]

1 Ответ

0 голосов
/ 22 февраля 2019

albums путь является дочерним для маршрута UserDetailComponent, а маршрут UserDetailComponent является дочерним для users/:userId.Поэтому, когда вы находитесь внутри маршрута albums, вы должны получить параметры маршрута UserDetailComponent по дереву маршрутизации.Вы можете получить доступ к родителю вашего маршрута, используя ActivatedRoute.parent (он возвращает маршрут, который является родителем вашего текущего маршрута)

...