Angular 6 Lazy Loading для одного и того же пути и разных модулей - PullRequest
0 голосов
/ 19 декабря 2018

Вспомните пример отложенной загрузки (app-routing-module):

const routes: Routes = [
  {
    path: 'customers',
    loadChildren: './customers/customers.module#CustomersModule'
  },
  {
    path: 'orders',
    loadChildren: './orders/orders.module#OrdersModule'
  },
  {
    path: '',
    redirectTo: '',
    pathMatch: 'full'
  }
];

Так, например, если текущий путь - www.mydomain.com/home, и я нажал кнопку клиента (которая перенаправляет меня на www.mydomain.com/ клиенты / что-то), модуль CostumersModule будет загружен.(С этого момента я буду называть "/ costumers" подкаталогом.)

Теперь предположим, что у нас есть другой модуль, например, BooksModule, состоящий из 2 страниц:

BooksFirstComponent // path = www.mydomain.com/bookone

BooksSecondComponent // path = www.mydomain.com/booktwo

(Обратите внимание, что на этих страницах нет подкаталогов, поэтому я не уверен, как их лениво загружать)

Можно ли загрузить BookModule только при нажатии на одну из его страниц?

Я не уверен, что это сделает работу:

const routes: Routes = [
  {
    path: 'customers',
    loadChildren: './customers/customers.module#CustomersModule'
  },
  {
    path: 'orders',
    loadChildren: './orders/orders.module#OrdersModule'
  },
  {
    path: '',
    loadChildren: './books/books.module#BooksModule'
  },
  {
    path: '',
    redirectTo: '',
    pathMatch: 'full'
  }
];

Является ли подкаталог обязательным при выполнении отложенной загрузки?

А если нет, то как вы можете это сделать без подкаталога?

...