Angular 8 - Как я могу создать динамическое c меню со всеми маршрутами в моем angular проекте? - PullRequest
1 голос
/ 03 мая 2020

Я использую loadChildren для организации своих маршрутов, например:

app-routing.module.ts

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';

const routes: Routes = [
  { path: 'cadastros', loadChildren: () => import('./cadastros/cadastros.module').then((m) => m.CadastrosModule) },
  { path: 'admin', loadChildren: () => import('./admin/admin.module').then((m) => m.AdminModule) }
];

@NgModule({
  imports: [RouterModule.forRoot(routes, { useHash: false })],
  exports: [RouterModule]
})
export class AppRoutingModule {}

cadastros-routing .module.ts

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';

const routes: Routes = [
  {
    path: '',
    children: [
      { path: 'geral', loadChildren: () => import('./geral/geral.module').then((m) => m.GeralModule) },
      { path: 'geo', loadChildren: () => import('./geo/geo.module').then((m) => m.GeoModule) },
      { path: 'pgv', loadChildren: () => import('./pgv/pgv.module').then((m) => m.PgvModule) }
    ]
  }
];

@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})
export class CadastrosRoutingModule {}

Я хотел бы создать динамическое c меню, поэтому я пытаюсь использовать это:

  constructor(private router: Router) {
    console.log('routers', this.router.config)
  }

это результат: console.log (this.router.config)

Но я не могу получить доступ к loadChildren, чтобы получить все маршруты ... Как я могу получить все маршруты для создания динамического c меню

1 Ответ

0 голосов
/ 04 мая 2020

После поиска я нашел решение для lazyLoaded, оно называется: 'preloaded'

https://angular.io/guide/router#preloading -background-loading-of-Feature-Area

Теперь я загрузил все модули asyn c и у меня есть все маршруты. Но это не перфоматы c, поэтому я возвращаюсь к своему старому способу создания этого меню.

...