Как исправить не загружающийся компонент в Angular Ionic - PullRequest
2 голосов
/ 30 марта 2019

Я пытаюсь лениво загрузить компонент в ionic Angular, и я получил маршрут (../app/buildings/:buildingId), чтобы не выдавать ошибки при переходе к нему, но он не загружает соответствующий компонент.

Я думаю, что это по умолчанию для родителя, но я не знаю, как это исправить .. Я попробовал некоторые вещи (не ленивая загрузка / помещение всего этого в app.module), но я не могу почини это. Любая помощь приветствуется.

tabs.router.module.ts

 {
    path: 'app',
    component: TabsPage,
    children: [
      {
        path: 'home',
        children: [
          {
            path: '',
            loadChildren: '../tab1/tab1.module#Tab1PageModule'
          }
        ]
      },
      {
        path: 'buildings',
        children: [
          {
            path: '',
            component: Tab2Page,
            resolve: {buildings: BuildingResolverService},
            loadChildren: '../tab2/tab2.module#Tab2PageModule'
          }
        ]
      },
      {
        path: 'tab3',
        ...

tab2.module.ts

export const tab2Routes: Routes = [
  {
    path: ':buildingId',
    component: BuildingComponent
  }
];
@NgModule({
  exports: [RouterModule],
  imports: [
    IonicModule,
    CommonModule,
    FormsModule,
    RouterModule.forChild(tab2Routes)
  ],
  declarations: [
    BuildingComponent
  ]
})
export class Tab2PageModule {}


Переход к /buildings загружает соответствующий компонент, /buildings/1 - нет. Я ожидал бы, что второй маршрут будет делать то же самое, я думаю, что по умолчанию к первому, потому что тот тоже подходит? я не уверен, как это исправить, если это так.

Надеюсь, я достаточно ясно

Ответы [ 2 ]

1 голос
/ 30 марта 2019

Ваш tab2Routes должен иметь маршрут '' по умолчанию Tab2Component и :buildingId как BuildingComponent (как у вас уже есть):

export const tab2Routes: Routes = [
  { 
    path: '', 
    component: Tab2Page 
  },
  {
    path: ':buildingId',
    component: BuildingComponent
  }
];
0 голосов
/ 30 марта 2019

Lazyload в Ionic тихо отличается от стандартного Angular проекта.Ленивая загрузка автоматически настраивается системой ионных страниц.Вы можете найти больше информации здесь .

...