Как реализовать отложенную загрузку для многоуровневого приложения - PullRequest
0 голосов
/ 04 мая 2020

У меня 3-уровневое приложение, и у меня проблемы с архитектурой. Вот примеры URL:

/ (base url)
plan-configuration/
plan-configuration/fsa   
plan-configuration/fsa/profile

Итак, у меня есть план конфигурации модуль, fsa модуль и профиль компонент , Тем не менее, я поместил только директивы розеток маршрутизатора в компонент приложения html и план конфигурации html. Это то, где я впервые ошибся, я считаю. Разве мне не нужна розетка на каждом уровне?

Мой app-routing.module файл lazy загружает мой модуль конфигурации плана :

 {
    path: 'plan-configuration',
    loadChildren: () =>
      import('./plan-configuration/plan-configuration.module').then(
        (p) => p.PlanConfigurationModule
      ),
  }

модуль маршрутизации конфигурации плана , затем lazy загружает свои дочерние элементы:

children: [
  {
    path: APP_ROUTE.PLAN_CONFIGURATION.CHILDREN.FSA.PATH,
    loadChildren: () =>
      import('../fsa/ra-fsa.module').then((m) => m.RaFsaModule),
  }
]

И модуль FSA загружает свои дочерние элементы:

children: [
  {
    path: 'profile',
    component: RaClientProfileComponent,
  },
  {
    path: 'dependents',
    component: RaDependentCareComponent,
  }
]

То, чего я достиг, - это ленивая загрузка plan config и модули "fsa". Но то, что я хочу, - это ленивая загрузка маршрутов компонентов для fsa , и я не знаю, как это сделать. Как я могу перестроить это правильно? Честно говоря, я немного растерялся.

Спасибо за любые полезные советы.

1 Ответ

1 голос
/ 04 мая 2020

Если вы используете атрибут children, вам нужен маршрутизатор-розетка, в которой можно отобразить дочерние элементы. Однако в вашем случае вы можете просто добавить первый модуль, как вы показали, загрузив его по пути plan-configuration.

Второй модуль, который вы можете просто загрузить по пути plan-configuration/fsa, остроумно обрабатывать маршруты profile и dependents, не нуждаясь в другой розетке маршрутизатора, но вместо этого обрабатывая их в основном.

Короче, просто импортируйте модуль ra-fsa в app-routing с plan-configuration/fsa как ваш путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...