因此,我的应用方案如下所示。有一个主插座,分为两个辅助插座- Sidenav插座和内容插座,它们分别加载两个不同的模块。
我的问题是,我不知道如何使用内容出口更改 Sidenav出口的路由(使用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'
}
];
在每个子模块中,只有普通的路由,没有什么特别的。
答案 0 :(得分:0)
您可以在成角度的路径“ root or childs”中使用“ data”对象来读取某些特定信息。也许这会对您有所帮助。