Angular 5 - роутер с двумя пустыми родительскими маршрутами

Это вопрос, чтобы проверить правильность моего мышления и реализации.

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

Вот так я настроил routes.ts:

export const routes = [
  {
    path: '',
    component: LayoutSimpleComponent,
    children: [
      { path: '', redirectTo: 'home', pathMatch: 'full' },
      { path: 'home', loadChildren: './home/home.module#HomeModule' },
      { path: 'library', loadChildren: './library/library.module#LibraryModule' },
      { path: 'login', component: LoginComponent }
     ]
  },
   // Layout with sidebars
  {
    path: '',
    component: LayoutSidebarsComponent,
    children: [
      { path: 'products', loadChildren: './products/products.module#ProductsModule' },
      { path: 'forum', loadChildren: './forum/forum.module#ForumModule' }
    ]
  },
  { path: '**', redirectTo: 'home' }
]

Как видите, оба компонента макета используют path: '' в качестве сопоставителя, поэтому фактическая маршрутизация зависит от их дочерних элементов. И все работает У меня просто странное ощущение, что это не лучшая практика.

Могут ли возникнуть проблемы при использовании этой конфигурации? Есть ли лучшее решение? Пока я ничего не смог найти об этом.

Я использовал этот подход в паре мест, и пока никаких проблем не возникло.

Nima Hakimi 18.06.2018 08:56

Я не вижу никаких недостатков, кроме удобочитаемости. Возможно, что-то, что я узнал от Деборы Курата, также подойдет. youtu.be/LaIAHOSKHCQ?t=2m47s (с 2:47 до 5-й минуты) В основном вложение двух или нескольких роутеров.

DaniS 18.06.2018 10:00

Спасибо я посмотрю

dallows 18.06.2018 10:23
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
3
3
202
0

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