Angular 6 + MVC, загружает все результаты действий при инициализации модуля, даже если он не используется - PullRequest
0 голосов
/ 06 декабря 2018

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

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

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

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

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

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 { }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...