Как создать вложенную структуру маршрута, используя отдельные файлы routing.module.ts для каждого подмодуля

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

const routes: Routes = [
  {
    path: 'users/:userId/product/:productId',
    component: AppComponent,
    data: { animation: 'app' },
    children: [
      {
        path: 'grouping',
        component: GroupingComponent,
        children: [
        {
            path: 'overview',
            component: OverviewComponent,
            data: { animation: 'overview' }
        },
        {
            path: 'configuration',
            component: GroupConfigurationComponent,
            data: { animation: 'configuration' }
        }
      ]
     }
    ]
  },
  {
    path: 'grouping',
    redirectTo: 'users/:userId/product/:productId/grouping/overview',
    pathMatch: 'full'
  }
];

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

Как мне создать эту вложенную структуру маршрутов, используя отдельные файлы routing.module.ts для каждого подмодуля? (У меня есть GroupingModule

1 ответ

Я опубликую свой пример:

маршрутизация приложений

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { AppComponent } from './app.component';

const routes: Routes = [
  {
    path: ':type/firstPage.html',
    pathMatch: 'full',
    redirectTo: ':type/firstPage-1' // for my redirect
  }
];

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

пример дочернего файла маршрутизации

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { YourComponent } from './components/yourComponent.component';

const routes: Routes = [
  {
    path: ':type/firstPage-1', // the route where i redirect first
    component: YourComponent
  }
];

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

Для модулей вы поместите ваш конкретный компонент routing.ts файл в его модуль, а затем вам придется импортировать этот конкретный модуль в app.module.

надеюсь, это помогло

Другие вопросы по тегам