Angular 6 + MVC, загружает все результаты действий при инициализации модуля, даже если он не используется

В моем модуле MasterModule я загружаю MyModule с помощью LazyLoading. Во всех моих компонентах я использую результат действия MVC как templateUrl в декораторе @Component({}).

Когда MyModule инициализируется, все мои запросы результатов действий попадают на мой сервер и загружают все виды.

Мой вопрос: есть ли способ решить эту проблему, означает создавать запросы результатов действий только тогда, когда компонент отображается в DOM.

По умолчанию NgModule инициализирует все компоненты, указанные в объявлениях (что создает http get-запрос для всех результатов действия).

- Основные маршруты--

export const MasterRoutes: Routes = [
    { path: 'Master/Landing', component: MasterPageComponent },
    { path: 'sample', loadChildren: () => require('es6-promise-loader!../Modules/MyModule')('MyModule') }
];

- Мастер модуль--

@NgModule({
imports: [
    RouterModule.forRoot(MasterRoutes),
    BrowserModule
],
declarations: [
    MasterPageComponent
],
bootstrap: [
    MasterPageComponent
]
})
export class MasterModule { }

--MyRoutes--

export const MyRoutes = [
{
    path: 'Add',
    component: MyComponent
}]

--MyModule--

@NgModule({
imports: [
    RouterModule.forChild(MyRoutes)
],
declarations: [
    MyComponent,
    RightComponent,
    LeftComponent,
    MainComponent
]
})
export class MyModule { }

0 ответов

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