Angular 4 Ленивая загрузка дочерних компонентов не загружена - PullRequest
1 голос
/ 19 апреля 2019

У меня угловое приложение среднего размера.Который занимает довольно много времени в загрузке.Поэтому я решил использовать Lazy Loading.У меня есть FeedbackModule, который лениво загружен.Выглядит это так:

Маршрут обратной связи:

export const FEEDBACK_ROUTES: Routes = [

{ path : '' , component : FeedbackComponent},
{ path : 'prebilling' , component : PrebillingComponent},
{ path : 'postbilling/login' , component : PostbillingComponentLogin},
{ path : 'postbilling/rating/:mid/:return/:mtid' , component : PostbillingRatingComponent},
{ path : 'prebilling/rating/:mid/:type/:mtid/:mcnt/:mebid' , component : PrebillingRatingComponent},
{ path : 'prebilling/rating' , component : PrebillingRatingComponent},
{ path : 'postbilling/rating/:id' , component : PostbillingRatingComponent},
{ path : 'prebilling/rating/:mid/:type/:mtid' , component : PrebillingRatingComponent},
{ path : 'thanks/:id' , component : ThankYouComponent}
];

Модуль обратной связи:

@NgModule({
declarations: [
    PostbillingComponentLogin,
    PrebillingComponent,
    PrebillingRatingComponent,
    PostbillingRatingComponent,
    ThankYouComponent,
    FeedbackComponent,
    PostbillingForgotPassComponentLogin

],
imports: [
    CommonModule,
    CommonCustomModule,
    FormsModule,
    RouterModule.forChild(FEEDBACK_ROUTES)
],
exports:[ RouterModule]
})

export class FeedbackModule {
}

App.route.ts:

export const ROUTES : Routes = [
...COMMON_ROUTES,
{ path:'feedback', loadChildren: './feedBack/feedback.module#FeedbackModule'}
]

Теперь, когда я получил путь /feedback Компонент обратной связи загружен.Но когда я для /feedback/prebilling или любого другого пути он все еще загружает FeedbackComponent.Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 19 апреля 2019

Ваш код мне подходит, но вы можете попробовать добавить pathMatch: full

{ path : '' , component : FeedbackComponent, pathMatch: 'full' }

Дайте мне знать, если это работает для вас ...

1 голос
/ 19 апреля 2019

Это потому, что вы не ориентируетесь на другие маршруты как дочерний маршрут вашего лениво загруженного модуля

const МАРШРУТЫ: маршруты = [ { путь: '', компонент: OrgComponent, дети: [ {path: 'intro', loadChildren: '../+intro/intro.module#IntroModule'}, {путь: 'недавний', компонент: RecentComponent}, ] } ]

enter image description here

...