定位多个路由器输出(主 AUX)时,RouterLink语法



有人知道为什么链接#1和#2有效,但链接#3不做?

<a [routerLink]="['/contact']">Contact Solo</a> |
<a [routerLink]="[{ outlets: { aux: 'aside' }}]">Aux Solo</a> |
<a [routerLink]="['/contact', { outlets: { aux: 'aside' }}]">Contact + Aux</a>
<router-outlet></router-outlet>
<router-outlet name="aux"></router-outlet>

换句话说:我可以单独激活主路线(链接#1),我可以单独激活辅助路线(链接#2),但是我无法同时激活主路线和辅助路线(链接#3)。链接#3仅激活主要路由,但触发了控制台中没有错误。

有趣的是,单击链接#1,然后链接#2 使用contact(aux:aside)的路径产生我想要的(主要路由和辅助激活),而链接#3具有contact/(aux:aside)的路径(请注意/)。

plunkr:https://plnkr.co/edit/wqtrjux7muhjalil3rsl?p=preview

路线声明:

const appRoutes: Routes = [
  {
    path: 'contact',
    component: ContactComponent,
  },
  {
    path: 'aside',
    component: PopupComponent,
    outlet: 'aux'
  }
];

我已经尝试了多种组合和语法。

尝试以下,

 <a [routerLink]="[{ outlets: { primary: 'contact', aux: 'aside' }}]">Contact + Aux</a>

更新了plunker !!

希望这会有所帮助!

最新更新