两条辅助路线操纵彼此的路线

时间:2019-10-31 13:30:56

标签: angular angular-routing

因此,我的应用方案如下所示。有一个主插座,分为两个辅助插座- Sidenav插座内容插座,它们分别加载两个不同的模块

enter image description here

我的问题是,我不知道如何使用内容出口更改 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' } ];

在每个子模块中,只有普通的路由,没有什么特别的。

1 个答案:

答案 0 :(得分:0)

您可以在成角度的路径“ root or childs”中使用“ data”对象来读取某些特定信息。也许这会对您有所帮助。