当子项处于活动状态时,使Angular路由器父项不活动

时间:2018-02-21 12:02:51

标签: angular router angular-router

我有一个导航栏作为路由器,有两个锚标签,Home和Create,Create是Home的孩子。我希望在选中时激活Create锚标记,但Home锚也会激活,因为它是Create的父级。

是否有任何方法可以防止父级锚标记在子级时变为活动状态?

Home.component

<ul class="nav navbar-nav">
   <li [routerLink]="'/home'" routerLinkActive="active">
       <a>Home</a>
   </li>
   <li [routerLink]="'create'" routerLinkActive="active">
       <a>Create</a>
    </li>
</ul>

app.routing

const appRoutes: Routes = [{
    path: "home", component: HomeComponent, children: [{
        path: "create", component: CreateComponent
    }]
}];

当前行为

访问/ home(仅通知主锚标记处于活动状态): enter image description here

访问/ home / create(注意两个锚标签都处于活动状态)enter image description here

通缉行为

访问/ home(仅通知主锚标记处于活动状态): enter image description here

访问/ home / create(通知仅创建标记处于活动状态):enter image description here

我是否遗漏了家庭组件中的某些内容,或者这是一种正常的行为,我不应该使用Create作为Home的孩子吗?

非常感谢你们。

1 个答案:

答案 0 :(得分:7)

添加:[routerLinkActiveOptions]="{exact: true}"