Angular:如何使用多个路由器插座?

时间:2018-03-23 14:13:08

标签: angular router router-outlet

我有这样的组件

主页:

<div> 
 <a routerLink="alpha"> Alpha </a>
 <a routerLink="beta"> Beta </a>
</div>

<router-outlet></router-outlet>

<footer></footer>

测试版模板:

<div>
 <a routerLink="/actual">actual</a>
 <a routerLink="/archive">archive</a>
<div>
<router-outlet></router-outlet>

可能的情况是: 当您单击主页上的BETA按钮时,它会在家中显示路由器插座测试版模板。 但是beta模板中的路由器插座是空的。当我点击测试版模板中的链接时,它会带来组件。

点击主页上的BETA链接时,测试页中的路由器插座不会显示为空,并且会点击实际的传入组件。

1 个答案:

答案 0 :(得分:3)

例如,如果您想在导航到beta时需要激活某些子路线:

    const appRoutes: Routes = [
      { path: 'alpha', component: SomeComponentA},
      { path: 'beta',        
        component: SomeComponentB,
        children: [
           {
               path: 'actual',        
               component: SomeComponentBActual,
           },
           {
               path: 'archive',        
               component: SomeComponentBArchive,
           },
           // add
            {
               path: '',        
               redirectTo: 'actual', pathMatch: 'full',
           },
       ]           

  },         
   ];

因此,当您导航到beta时,它将重定向到其子路线。 CODE EXAMPLE