出口,延迟加载和多个子层的路由问题

时间:2019-09-10 11:36:11

标签: angular

我正在尝试多层延迟加载路由 全部导航到命名插座。 仅2层(主层和子层)有效 但是从一个孩子导航到一个孩子失败。 错误:无法匹配任何路由。 URL段:“第一个孩子的名字”

因此,在第一个子级别中定向组件是可行的。 但是从这个孩子到这个孩子的孩子会给我错误。

应用路由:

start

BatchSelectorAppRouting:

const routes: Routes = [
  {path: 'desktop-layout', component: DesktopLayoutComponent, children: [
    { path: 'mainmenu-page', component: MainMenuPageComponent, outlet: 'multiUseMenu' },
    { path: 'logviewer-app', loadChildren: './Logging/logviewer-app/logviewer-app.module#LogviewerAppModule', outlet: 'multiUseMenu' },
    { path: 'batch-log-app', loadChildren: './batch-selector/batch-selector.module#BatchSelectorModule', outlet: 'multiUseMenu' }, 
      { path: 'job-editor-app', loadChildren: './job-editor-app/job-editor-app.module#JobEditorAppModule', outlet: 'multiUseMenu' },
      { path: 'capture-service-log', loadChildren: './Logging/capture-service-log/capture-service-log.module#CaptureServiceLogModule', outlet: 'multiUseMenu' },
    { path: 'input-profile-editor-app', loadChildren: './inputsettings-profile-app/inputsettings-profile-app.module#InputsettingsProfileAppModule', outlet: 'multiUseMenu' },  
  ]},
{ path: 'login-page', component: LoginPageComponent },
];
@NgModule({
  imports: [RouterModule.forRoot(routes, { enableTracing: true,useHash:true }), LoginManagerModule],
  exports: [RouterModule]
})
export class AppRoutingModule { }

LogviewerAppRouting:

const batchselector_routes: Routes = [
  {
    path: '',
    pathMatch: 'full',
    redirectTo: 'batchselector'
  },  
  {
    path: 'batchselector', component: BatchselectorComponent, children: [
      { path: 'idrlogviewer', loadChildren: '../Logging/logviewer-app/logviewer-app.module#LogviewerAppModule', outlet: 'multiUseMenu' },
    ]
  },
];
@NgModule({
  imports: [RouterModule.forChild(batchselector_routes)],
  exports: [RouterModule]
})
export class BatchSelectorAppRouting { }

导航:

const logviewer_routes: Routes = [
  {
    path: '',
    component: LogviewerAppDblogviewerComponent
  }
];

@NgModule({
  imports: [RouterModule.forChild(logviewer_routes)],
  exports: [RouterModule]
})
export class LogviewerAppRouting { }

我想我尝试了 this.router.navigate(['desktop-layout', { outlets: { multiUseMenu: 'batch-log-app/idrlogviewer' } }]); 等中的所有组合。 但是它们都不起作用。

希望有人对此有更多经验,可以为我提供帮助。 预先谢谢你。

1 个答案:

答案 0 :(得分:0)

有一个称为ActivatedRoute的角度功能,它使您可以访问父母和孩子的路线。像这样使用:

for (int c = 0; c < cores; c++) {
    pthread_join(threads[i], NULL);
    printf("\n Waiting to join thread n: %i", c);
}

我没有特定的解决方案,但是尝试查看其中的内容,并为商店指定一个相对于 common 父母的孩子的孩子的网址?