为延迟加载或子模块使用命名路由器出口

Posted

技术标签:

【中文标题】为延迟加载或子模块使用命名路由器出口【英文标题】:Use named router-outlet for a lazy loaded or child module 【发布时间】:2019-01-14 16:22:51 【问题描述】:

我正在尝试加载顶部带有配置栏的页面。每个页面都有不同的配置设置,它们是页面的子级。

我的 app.component.html

<router-outlet name="config"></router-outlet>
<router-outlet></router-outlet>

我的 app-routering.module.ts 有

const routes: Routes = [
   path: 'LastTradedPrices', component: LastTradedPricesComponent 

   path: 'Slippage/:group', loadChildren: './slippage/slippage.module#SlippageModule' 
];

这是 SlippageComponent 的路线

const slippageRoutes: Routes = [
     
        path: '', 
        component: SlippageComponent,
        children: [
            
                path: '',
                component: ConfigComponent,
                outlet: 'config'
            
        ] 
    
];

基本上,我希望默认插座显示来自 SlippageComponent 的页面数据,并将 ConfigComponenet 加载到其上方命名的“配置”插座中。

【问题讨论】:

【参考方案1】:

子组件ConfigComponent在父组件SlippageComponent中寻找router-outlet

对于给定的 app.component.html,如下更改 Slippage 路线。

const slippageRoutes: Routes = [
  
    path: '',
    component: ConfigComponent,
    outlet: 'config'
  ,
  
    path: '',
    component: SlippageComponent,
  
];

【讨论】:

以上是关于为延迟加载或子模块使用命名路由器出口的主要内容,如果未能解决你的问题,请参考以下文章

Angular 9 嵌套延迟加载模块,带有嵌套路由器出口

没有路由器的角度延迟加载模块

延迟加载模块中的 Angular single-spa 延迟加载路由调用未定义的 webpack 错误

Vue路由器如何在页面加载时获取延迟加载模块的当前路由路径?

如何处理 angular2 延迟加载路由失败

应用程序正在生成我的延迟加载模块的一部分,前缀为 default ~ .. 甚至在它被调用之前