Angular 角度2路由器链路激活,两个链路激活

Angular 角度2路由器链路激活,两个链路激活,angular,routes,angular2-routing,router,Angular,Routes,Angular2 Routing,Router,我有一个项目,路线如下: { path: '', component: GamesListingComponent }, { path: 'inicio', component: HomeComponent }, { path: 'listar', children: [ { path: '', component: HomeComponent }, { path: 'fabricantes', componen

我有一个项目,路线如下:

{ path: '', component: GamesListingComponent },

    { path: 'inicio', component: HomeComponent },

    { path: 'listar',
        children: [
            { path: '', component: HomeComponent },
            { path: 'fabricantes', component: ManufacturesListingComponent },
            { path: 'plataformas', component: PlatformsListingComponent },
            { path: 'usuarios', component: UsersListingComponent },
            { path: 'jogos', component: GamesListingComponent },
            { path: '**', component: HomeComponent }
        ]
    },

    { path: 'cadastrar',
        children: [
            { path: '', component: HomeComponent },
            { path: 'fabricantes', component: ManufacturesRegisterComponent },
            { path: 'plataformas', component: PlatformsRegisterComponent },
            { path: 'usuarios', component: UsersRegisterComponent },
            { path: 'jogos', component: GamesRegisterComponent },
            { path: '**', component: HomeComponent }
        ]
    },

    { path: '**', component: GamesListingComponent }
我希望routerLinkActive仅通过子路由的名称启用,例如:

访问“/listar/jogos”和“/cadastar/jogos”时,如果要访问这两条路线,则相同的RouterLink活动处于活动状态

header.html

<div class="jumbotron">
    <p class="text-center title"><a [routerLink]="['/inicio']">Lightning Games</a></p>
    <p class="text-center">A sua loja de jogos desde o seu primeiro dia</p>
</div>
<nav class="navbar navbar-toggleable-md navbar-inverse bg-inverse">
    <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarText">
        <ul class="navbar-nav mr-auto">
            <li class="nav-item" [routerLinkActive]="['active']">
                <a class="nav-link" [routerLink]="['/inicio']">Início <span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item" [routerLinkActive]="['active']">
                <a class="nav-link" [routerLink]="['/listar', 'plataformas']">Plataformas</a>
            </li>
            <li class="nav-item" [routerLinkActive]="['active']">
                <a class="nav-link" [routerLink]="['/listar', 'fabricantes']">Fabricantes</a>
            </li>
            <li class="nav-item" [routerLinkActive]="['active']">
                <a class="nav-link" [routerLink]="['/listar', 'usuarios']">Usuários</a>
            </li>
            <li class="nav-item" [routerLinkActive]="['active']">
                <a class="nav-link" [routerLink]="['/listar', 'jogos']">Jogos</a>
            </li>
        </ul>
    </div>
</nav>

闪电游戏

A sua loja de jogos desde o seu primeiro dia

  • 伊尼西奥(现任)
  • 扁形
  • 制作人
  • 乌苏里奥斯
  • 乔戈斯
  • 如果您希望您的路线在一条确切路线中处于活动状态
  • 添加
    [routerLinkActiveOptions]=“{exact:true}”
    将使活动类仅应用于精确的路由匹配

    如果这是您想要的,则按如下方式更新您的
  • 标记:

    <li class="nav-item" [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}">
       <a class="nav-link" [routerLink]="['/inicio']">Início <span class="sr-only">(current)</span></a>
    </li>
    
    header.component.html

            <li class="nav-item" [routerLinkActive]="['active']">
                <a class="nav-link" [routerLink]="['/inicio']">Início <span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item" [routerLinkActive]="['active']">
                <a class="nav-link" [routerLink]="['/plataformas']">Plataformas</a>
            </li>
            <li class="nav-item" [routerLinkActive]="['active']">
                <a class="nav-link" [routerLink]="['/fabricantes']">Fabricantes</a>
            </li>
            <li class="nav-item" [routerLinkActive]="['active']">
                <a class="nav-link" [routerLink]="['/usuarios']">Usuários</a>
            </li>
            <li class="nav-item" [routerLinkActive]="['active']" >
                <a class="nav-link" [routerLink]="['/jogos']">Jogos</a>
            </li>
    
    <a [routerLink]="['/jogos/cadastrar']" class="btn btn-primary">
      Novo Jogo
    </a>
    
  • 伊尼西奥(现任)
  • 扁形
  • 制作人
  • 乌苏里奥斯
  • 乔戈斯
  • xxx-listing.component.html

            <li class="nav-item" [routerLinkActive]="['active']">
                <a class="nav-link" [routerLink]="['/inicio']">Início <span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item" [routerLinkActive]="['active']">
                <a class="nav-link" [routerLink]="['/plataformas']">Plataformas</a>
            </li>
            <li class="nav-item" [routerLinkActive]="['active']">
                <a class="nav-link" [routerLink]="['/fabricantes']">Fabricantes</a>
            </li>
            <li class="nav-item" [routerLinkActive]="['active']">
                <a class="nav-link" [routerLink]="['/usuarios']">Usuários</a>
            </li>
            <li class="nav-item" [routerLinkActive]="['active']" >
                <a class="nav-link" [routerLink]="['/jogos']">Jogos</a>
            </li>
    
    <a [routerLink]="['/jogos/cadastrar']" class="btn btn-primary">
      Novo Jogo
    </a>
    
    
    诺沃乔戈酒店
    
    如果要激活两个链接的路由,请按如下方式更改html文件

    <nav class='navbar navbar-expand navbar-light bg-light'>
       <div class='width-100'>
         <div class='float-left'> 
        <ul class='nav nav-pills'>   
          <li><a class='nav-link' [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}"[routerLink]="['/abc']">Abc</a></li>
          <li class="nav-link" [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}" [routerLink]="['/def']" >Def
                   <a routerLink="/ghi"></a>
          </li>
         </ul>
        </div> 
       </div>
    </nav>
    
    imports: [
        BrowserModule,  
        FormsModule,
        RouterModule.forRoot([
          //, canDeactivate : ['canDeactivateCreateEmployee']},
          { path: 'abc', component: AbcComponent },
          { path: 'def', component: DefComponent },
          { path: 'ghi',  component: GhiComponent},
          { path: '', redirectTo: 'AbcComponent', pathMatch: 'full' },
          { path: '**', redirectTo: 'AbcComponent', pathMatch: 'full' }
        ])
      ],
    

    这将使两个URL(def、ghi)的single RouterLink处于活动状态。

    请同时添加您的html代码。听起来你需要添加
    [routerLinkActiveOptions]=“{exact:true}”
    我更新了帖子,我应该在家里输入这个命令吗?谢谢,它仍然不起作用,当我输入“/listar/jogos”时,它带来了资产,但当我输入“/cadastar/jogos”时,它被禁用。嗨@HenriqueBuzin,我以为这是你想要的。我将更新答案。不幸的是,它不起作用,我修改了所有内容以表示同意,当我将“jogos/listar”放在活动作品中时,它不是,但当我将“jogos/cadastrar”放在“否”时,我还能做些什么吗?我听说了解了lick活动路由器,但我不确定它会是什么样子。非常感谢。您好@HenriqueBuzin-您需要创建一个plunkr或可下载的代码示例,以便我进一步提供帮助。如果你在这里发布链接,我会看一看。好的,我会提供给你,这是怀疑版,如果你需要修改你最后答案的版本,请告诉我我也有。非常感谢。