Угловая маршрутизация RootPath с параметрами - PullRequest
0 голосов
/ 06 января 2019

Мы разрабатываем админ-панель с использованием angular 4. И у нас есть файл маршрутизации для одного из наших модулей, как показано ниже:

import { Routes } from '@angular/router';

import { ShowPeriodsComponent } from './periods/show-periods/show-periods.component';
import { CreatePeriodsComponent } from './periods/create-periods/create-periods.component';
import { EditPeriodsComponent } from './periods/edit-periods/edit-periods.component';
import { ShowVideosComponent} from './videos/show-videos/show-videos.component';
import { CreateVideosComponent} from './videos/create-videos/create-videos.component';
import { EditVideosComponent} from './videos/edit-videos/edit-videos.component';
import { PeriodCommonComponent } from './periodCommon.component';


export const EvolutionsRoutes: Routes = [{
  path: '',
  component: PeriodCommonComponent,
  children: [
    {
      path: 'periods',
      children: [
        { path: '', component: ShowPeriodsComponent, data: { heading: 'Assesment Periods' } },
        { path: 'create', component: CreatePeriodsComponent, data: { heading: 'Create assesment period' } },
        { path: 'edit/:id', component: EditPeriodsComponent, data: { heading: 'Edit assesment period' } },
      ]
    } ,
    {
      path: 'videos',
      children: [
        { path: ':id', component: ShowVideosComponent, data: { heading: 'Assesment Videos' } },
        { path: 'create', component: CreateVideosComponent, data: { heading: 'Create assesment videos' } },
        { path: 'edit/:id', component: EditVideosComponent, data: { heading: 'Edit assesment videos' } },
      ]
    }
  ]

}];

Однако проблема начинается здесь. Наш корневой путь: / evolutions , и все работает нормально, когда я звоню ниже URL:

/evolutions/periods
/evolutions/periods/edit/{periodId}
/evolutions/videos/{periodId}
/evolutions/videos/edit/{videoId}

Но когда я звоню по ссылке ниже

/ эволюции / видео / создать

Страница не загружается. И причина в том, что он вызывает один из методов в конструкторе Ссылка / evolutions / videos (я имею ввиду в ShowVideosComponent) Однако я не хочу, чтобы эта ссылка была загружена, все, что я хочу, это загрузить файл шаблона, связанный с / evolutions / videos / create link. Возможно ли что-то подобное?

Спасибо

1 Ответ

0 голосов
/ 06 января 2019

Разве это не проблема порядка пути?

Когда вы вводите URL, ваш маршрутизатор проверяет каждый путь в конфигурации вашего маршрутизатора один за другим сверху вниз.

Ваш маршрутизатор считает, что / evolutions / videos / create является допустимым путем для вашего ShowVideosComponent, где: id = 'create'.

Если вы поместите путь к своим видео /: id под вашими видео / создайте путь, он должен работать.

...