【发布时间】:2019-10-31 13:30:56
【问题描述】:
所以,我的应用方案看起来像这样。主要出口分为两个辅助出口 - Sidenav outlet 和 Content outlet,它们加载 两个不同的模块。
我的问题是,我不知道如何使用 Content outlet 更改 Sidenav outlet 的路由(使用 routerLinks),反之亦然。另外,我想一次操纵两条路线,这似乎与我目前尝试的效果不太一样。
我试过用这个
<a [routerLink]="['/home', { outlets: { 'sidenav': ['/some/route'], 'content': ['/some/other_route'] } } ]">Navigate</a>
但它不起作用,我收到错误,因为路线不存在(虽然我可以通过编辑浏览器顶部的路径来设置它们)。
我的猜测是,放置在 Content Outlet 内的 [routerLink] 会搜索名为 sidenav 的子插座,而不是其对等插座。但我不知道如何解决。
编辑:我的路由文件看起来像这样
const routes: Routes = [
{
path: 'core',
component: CoreComponent,
children: [
{
path: 'some',
outlet: 'sidenav',
loadChildren: () =>
import('...').then(
(m) => m.Module
)
},
{
path: '',
redirectTo: 'some',
outlet: 'sidenav',
pathMatch: 'full'
},
{
path: 'some_different',
outlet: 'content',
loadChildren: () =>
import('...').then(
(m) => m.Module
)
},
{
path: '',
redirectTo: 'some_different',
outlet: 'content',
pathMatch: 'full'
}
]
},
{
path: '',
redirectTo: 'core',
pathMatch: 'full'
}
];
在每个子模块中,只有普通的路线,没有什么特别的。
【问题讨论】:
-
你能显示你的路由文件吗?
-
@JadavPalak 刚刚编辑