Добавить маршрут динамически в модуль Lazy Loaded Angular 8 - PullRequest
0 голосов
/ 08 октября 2019

У меня есть общий модуль, маршрут которого определен, как показано ниже

export const HrRouting: Routes = [
  {
    path: '',
    component: HrComponent,
    data: {
      breadcrumb: 'HR'
    },
    children: [
      {
        path: 'settings',
        component: SalesOneProHrSettingsComponent,
        data: {
          acl: 'hr::hr',
          breadcrumb: 'Settings'
        },
      }
    ]
  }
]

Я загружаю этот модуль в два разных модуля, используя loadChildren. В одном из модулей я хочу добавить еще один путь к этому маршруту. Например

HrRouting['children'].push({
        path: 'reports',
        component: HrReportComponent
});

Как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 08 октября 2019

Вместо Push вы можете использовать unshift следующим образом

this.router.config.unshift(
  { path: 'page1', component: Page1Component },
  { path: 'page2', component: Page2Component }
);

при использовании push, маршрут обновляется до конца, то есть после path:'**', поэтому эти маршруты будут недоступны.

Пожалуйста, проверьте ссылку для получения дополнительной информации https://medium.com/@DenysVuika/dynamic-routes-with-angular-6fda03b7fa2c

0 голосов
/ 08 октября 2019

Вы можете использовать тот же шаблон, что и выше.

{
path:'',
component: something,
children:
   [
     path: 'settings',
     component: settings,
     children: 
        [
           path: 'nested',
           component: nested
        ]
   ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...