angular - 针对多个路由器 socket (主要+辅助)时的 routerLink 语法

标签 angular angular2-routing

有谁知道为什么链接 #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 仅激活主要路由,但不会在控制台中触发任何错误。

有趣的是,点击 link #1 然后点击 link #2 生成我想要的(主路由和辅助激活),路径为 contact(aux:aside) 而 link #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 !!

希望这对您有所帮助!

关于angular - 针对多个路由器 socket (主要+辅助)时的 routerLink 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42554091/

相关文章:

javascript - Angular2 身份验证 - 类型 'AsyncSubject<{}>' 不可分配给类型 'AsyncSubject<boolean> - 可观察值和 typescript

Angular 2 url路径不起作用

Angular 2 新路由器 : How to get router parameters of a child component?

html - 如何在另一个 DIV 内并排对齐 3 个 DIV 并右对齐最后一个 DIV?

Angular 2 新 (RC1) 路由器。嵌套路线

angular - 为什么使用 href 而不是使用 Angular 2+ 的 routerLink 时链接加载速度如此之慢?

Angular - fxFlex 对元素没有影响

javascript - Angular 2 中组件模板之外的 routerLink,在基本 html 中

javascript - Angular 2,Typescript 模块没有导出常量 'FORM_DIRECTIVES'

Angular2 E2E Protractor 。等到元素有类