Angular 4 загружает компонент по умолчанию при нажатии на тег привязки, который указывает на другой компонент только в первый раз - PullRequest
0 голосов
/ 28 сентября 2018

Angular 4 загружает компонент по умолчанию при щелчке тега привязки, который указывает на другой компонент только в первый раз.

Это происходит только в том случае, если не загружен блок / пакет js другого компонента.

Проблема устранена путем добавления предварительной загрузки: true в маршрутах.

{ path: 'aps', loadChildren: './aps/aps.module#ApsModule', data: { preload: true} }

Есть ли другой способ исправить проблему без предварительной загрузки.

Редактировать: Дальнейшее расследование показало, что проблема возникает только при наличии распознавателя на маршруте

{ path: 'summary/:apId', component: apsDetailsComponent, resolve: { data: apsSummaryResolver } }

Если распознаватель удален, он работает нормально.

1 Ответ

0 голосов
/ 28 сентября 2018

Я не знаю, решит ли это вашу проблему, но я могу загрузить дочерний компонент, имеющий маршрут / json / attribute (загружает компонент Attribute внутри JsonComponent), но вы можете попробовать это и посмотреть,работает:

{
    path: 'json', 
    component: JsonComponent,
    children: [
        {
            path: '', 
            redirectTo: 'attribute',
            pathMatch: 'full'
        },
        {
            path: 'attribute',
            component: AttributeComponent
        },
        {
            path: 'edit',
            component: EditComponent
        }
    ],           
    canActivate: [AuthGuardService]
},  

Вы также должны добавить <router-outlet></router-outlet> в html-файл JsonComponent.

...