angular - Angular 7 多个路由器出口和延迟加载
问题描述
我有一个具有以下结构的应用程序
app/
├── app.component.html
├── app.component.scss
├── app.component.ts
├── app.module.ts
├── core/
│ ├── core-routing.module.ts
│ ├── core.module.spec.ts
│ ├── core.module.ts
│ ├── header/
│ ├── layout/
│ ├── services/
│ └── header/
├── someModule1/
├── someModule2/
占据文件夹根目录的AppModule
尽可能保持裸露。它的作用只是引导 Angular 应用程序,并提供根级别的router-outlet
.
一切都贯穿于CoreModule
. 路线CoreModule
如下(forRoot()):
const routes: Routes = [
{
path: 'app',
component: LayoutComponent,
},
{
path: 'somePath',
loadChildren: '../someModule1/someModule1.module#SomeModule1'
},
{
path: '**', component: NotFoundComponent
}
];
它允许我实例化我LayoutComponent
的内容,该内容通过主要router-outlet
和次要命名出口显示,以供其他组件显示。
<header-component></header-component>
<mat-drawer-container>
<mat-drawer #drawer>
<router-outlet name="sidenav"></router-outlet>
</mat-drawer>
<div class="sidenav-content">
<router-outlet></router-outlet>
</div>
</mat-drawer-container>
我确实尽我所能在 sidenav 和主要内容区域显示单独的内容,但没有任何成功。
我希望在里面和里面<a [routerLink]="['somepath', { outlets: { sidenav: ['foo'] } }]">Outlet Nav</a>
展示somepath
<router-outlet></router-outlet>
foo
<router-outlet name="foo"></router-outlet>
我究竟做错了什么 ?我读过它可能与延迟加载模块有关
解决方案
推荐阅读
- android - 如何修复我的模拟器屏幕比实际工作屏幕大得多?
- azure-devops - Azure DevOps YAML:将变量组中的变量传递给模板文件中的参数会引发类型错误
- r - 包围国家的搭配的BOX
- html - 砌体布局中右栏显示的下拉内容
- bash - 使用AWK计算文件中字母的平均表达
- php - 如何删除必填项
- android - 显示进度条,直到 RecyclerView 中的所有元素都加载完毕
- android - 如何使用嵌套在 TextInputLayout 内的 TextInputEditText 约束视图
- database - 当用户从前端应用更改时更新 Linux 配置文件
- python - 如何在 Python 中将具有名称(1 个或多个单词)和 Number 的单行输入字符串拆分为 ["Name" , "Number"]?