Angular router v3:定位名为outlet

时间:2016-06-24 11:18:51

标签: angular angular2-routing

我正试图前往指定的出口,但我无法这样做。我修改了官方角度插件(Crisis示例演示)。 我在crisis-center.component中创建了一个名为outlet的“detail”,并将Admin链接修改为rout到这个新的outlet <a [routerLink]="['/crisis-center/detail:admin']">Crisis Admin</a>

这不起作用。它导航到组件管理员,但在默认插座我也尝试使用导航方法,但也有类似的问题。

http://plnkr.co/edit/KXOGwX8bW0AYc86OgVdQ?p=preview

我也尝试在管理路由定义中添加插座,但仍然存在同样的问题

 `{
        path: 'admin',
        component: CrisisAdminComponent,
        outlet: 'detail',
        canActivate: [AuthGuard]
      }`,

@ angular / router:3.0.0-alpha.7

=======编辑:==

@ angular / router:3.0.0-alpha.8

我已更新了plunker https://plnkr.co/edit/Kn4yBi5oytNVcFvUvGLR?p=preview。 现在我在admin outlet指定的

中加载admin组件

使用navigateByUrl时,我在控制台中遇到错误。

`platform-browser.umd.js:2311 EXCEPTION: Error: Uncaught (in promise): Error: Cannot match any routes: 'crisis-center/admin:admin'`

1 个答案:

答案 0 :(得分:3)

<强>更新

在RC.5中有fix on it's way降落

<强>原始

routerLink尚未支持已命名的<router-outlet>。 使用router.navigateByUrl()这已经可以实现,但辅助路由不是完全支持的,并且有几个已知问题。

示例:

this._router.navigateByUrl("/crisis-center(aux:chat;open=true)");

另见Angular2 router in one component

Plunker example