【发布时间】:2018-07-10 12:49:17
【问题描述】:
作为我的应用程序的根目录,我有一个“演示”路由到处理网站上所有演示的模块:
{
path: 'demo',
canActivate: [AuthGuardService],
loadChildren: './demo/demo.module#DemoModule'
}
然后,在demo模块的路由模块中我有所有的demo,其中一些也是模块,比如
{
path: 'splitviews',
loadChildren: './splitviews/splitviews.module#SplitviewsModule'
}
这是“Splitviews”类型的演示模块,组件具有 2 个命名路由出口:1 个用于左侧导航,1 个用于内容:
<app-header class="site-header"></app-header>
<div class="site-content"></div>
<div [ngClass]="containerType"
class="splitview-wrapper">
<div class="row">
<div class="col-sm-2"">
<router-outlet name="leftnav"></router-outlet>
</div>
<div class="col-sm-10">
<router-outlet name="content"></router-outlet>
</div>
</div>
</div>
<app-footer class="site-footer"></app-footer>
到目前为止,这个模块有这样的路由
path: 'basic',
component: SplitviewsComponent,
data: {
containerType: 'container'
},
children: [
{
path: '',
component: LeftnavBasicComponent,
outlet: 'leftnav'
},
{
path: '',
component: Content1Component,
outlet: 'content'
}
]
},
所以现在,如果您转到 /demo/splitviews/basic,您会看到带有页眉、页脚和两个路由出口的 splitviews 组件显示 LeftnavBasicComponent 和 Content1Component。
但是现在我需要做的是让 LeftnavBasicComponent 中的 链接 在 router-outlet "content 中加载不同的内容组件(例如 Content2Component) ”。而且我不确定如何最好地配置这些子路由。
【问题讨论】:
-
为什么不为具有
path: ''的子组件创建一个组件,然后让该组件将LeftnavBasicComponent和Content1Component作为子组件导入? -
我希望能够同时切换左Mac和内容来演示不同类型的左导航和内容组合。
标签: javascript angular angular2-routing