当前位置:  开发笔记 > 前端 > 正文

Angular2在同一个模板中有多个路由器插座

如何解决《Angular2在同一个模板中有多个路由器插座》经验,为你挑选了4个好方法。

是否可以在同一个模板中安装多个路由器插座?

如果是,那么如何配置路由?

我正在使用angular2 beta.



1> Tomer Almog..:

是的,你可以,但你需要使用辅助路由.您需要为路由器插座命名:


并设置您的路由配置:

@RouteConfig([
  {path:'/', name: 'RetularPath', component: OneComponent, useAsDefault: true},
  {aux:'/auxRoute', name: 'AuxPath', component: SecondComponent}
])

看看这个例子:http://plnkr.co/edit/JsZbuR?p = preview 同样这个视频:https://www.youtube.com/watch?v = z1NB-HG0ZH4 &feature = youtu.be


RC.5 Aux路由的更新有所改变:在路由器插座中使用一个名称:


在您的路由器配置中:

{path: '/auxRouter', component: secondComponentComponent, outlet: 'aux'}


更新:截至2016年5月,Angular2刚刚发布了他们的RC(发布候选版),现在Aux路由应该可行.
1投票给RC5更新答案.Angular2变化如此之快.

2> 小智..:

通过配置路由器并为路由器插座提供名称,您可以在同一模板中安装多个路由器插座,

你可以这样做到这一点.

以下方法的优点是,您可以避免看起来脏的URL.例如:/ home(aux:login)等.

假设在加载时你是引导appComponent.

app.component.html

//second outlet to load required component

添加以下内容到路由器.

{
    path: 'home',  // you can keep it empty if you do not want /home
    component: 'appComponent',
    children: [
        {
            path: '',
            component: childOneComponent,
            outlet: 'child1'
        },
        {
            path: '',
            component: childTwoComponent,
            outlet: 'child2'
        }
    ]
}

现在当/ home加载时,appComponent将使用已分配的模板加载,然后角度路由器将检查路由并根据名称加载指定路由器出口中的子组件.

如上所述,您可以将路由器配置为在同一路由中有多个路由器出口.



3> Günter Zöchb..:

使用新的RC.3路由器更改了Aux路由语法.

aux路线存在一些已知问题,但可以获得基本支持.

您可以定义路径以显示已命名的组件

路线配置

{path: 'chat', component: ChatCmp, outlet: 'aux'}

命名路由器插座


导航辅助路线

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

似乎尚不支持从routerLink导航辅助路由

Test

c

我还没试过

另请参见一个组件中的Angular2路由器

RC.5 routerLink DSL(与createUrlTree参数相同)https://angular.io/docs/ts/latest/api/router/index/Router-class.html#!#createUrlTree-anchor



4> Tomiwa Adefo..:

Link

`

 {
    path: 'admin',
    component: AdminLayoutComponent,
    children:[
      {
        path: '',
        component: AdminStreamsComponent, 
        outlet:'list'
      },
      {
        path: 'stream/:id',
        component: AdminStreamComponent,
        outlet:'details'
      }
    ]
  }

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有