首页 文章

Angular router v3:定位名为outlet

提问于
浏览
2

我正试图前往指定的出口,但我无法这样做 . 我修改了官方角度插件(Crisis示例演示) . 我在crisis-center.component中创建了一个"detail"命名的出口,并将管理员链接修改为溃败到这个新的出口 <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 . 现在我在管理插座中加载管理组件

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

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

1 回答

  • 3

    Update

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

    Original

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

    例:

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

    另见Angular2 router in one component

    Plunker example

相关问题