有角度的多个但相似的路线的活动路线

时间:2017-09-28 13:04:19

标签: angular

我有以下链接项,我希望它对多个链接有效。这可能吗?

  <li class="nav-item">
      <a class="nav-link" routerLinkActive="active" [routerLink]="['/testGame/list']"><i class="icon-game-controller"></i> baran</a>
  </li>

我希望此链接对于

下面的两个链接都有效
http://localhost:4200/#/testGame/crud

http://localhost:4200/#/testGame/list

由于

1 个答案:

答案 0 :(得分:0)

您可以定义以下路线,

{ path: 'testGame/:id', component: TestGameComponent }

现在您可以将任何参数传递到同一路线。

您可以找到有关路由here的详细文档。

<强>更新

您可以编写自己的RouterLinkActive指令,您可以将其增强为具有任意数量的功能,

Plunker!!

中查看此实施
@Input() startsWith: string = "";

private isLinkActive(router: Router): (link: (RouterLink|RouterLinkWithHref)) => boolean {
    return (link: RouterLink | RouterLinkWithHref) =>{
       if(!!this.startsWith){
          return router.url.indexOf(this.startsWith) > -1;
       }else{
        return  router.isActive(link.urlTree, this.routerLinkActiveOptions.exact);
       }
    }
  }

我所做的只是复制角度库中的代码,并根据一些额外的属性更新路径匹配的部分,

<a customRouterLinkActive="active" routerLink="/testGame/crud" startsWith="testGame" >
 Crud
</a>

希望这会有所帮助!!