我正在做一个相当简单的项目,但这个问题让我很难过!
我有路由设置并且工作正常,除了 routerLinkActive 没有保持激活的一个小问题。
我还不能在问题中嵌入图片,所以请点击链接查看我得到的结果
当我转到:http://localhost:4200/1时,“1”菜单项在导航栏中正确显示为活动状态。如果我然后转到子路由:http://localhost:4200/1/top100 '1' 菜单仍然保持设置为活动状态。这正是我希望它工作的方式。
然而,在一个非常相似的设置中,我将“4”菜单项转到:http://localhost:4200/2/A。这正确地将顶部导航栏中的“4”显示为活动状态,并将“测试 A”按钮显示为活动状态。但是,当我转到http://localhost:4200/2/B时,“测试 B”按钮正确显示为活动状态,但主导航栏在“4”上丢失了活动标志。
下面附上代码片段:
导航栏
<ul class="navbar-nav">
<li class="nav-item" routerLinkActive="active">
<a class="nav-link" routerLink="/1">1</a>
</li>
<li class="nav-item" routerLinkActive="active">
<a class="nav-link" [routerLink]="['/notUsed', 'notUsed']">2</a>
</li>
<li class="nav-item" routerLinkActive="active">
<a class="nav-link" [routerLink]="['/notUsed', 'notUsed']">3</a>
</li>
<li class="nav-item" routerLinkActive="active">
<a class="nav-link" [routerLink]="['/2', 'A']">4</a>
</li>
<li class="nav-item" routerLinkActive="active">
<a class="nav-link" routerLink="/notUsed">5</a>
</li>
</ul>
按钮组
<div class="btn-group-vertical fixedWidthButtonHonour mb-3" role="group" aria-label="Senior Grades">
<button type="button" class="btn btn btn-outline-danger" [routerLink]="['/2', 'A']" routerLinkActive="active">Test A</button>
<button type="button" class="btn btn btn-outline-danger" [routerLink]="['/2', 'B']" routerLinkActive="active">Test B</button>
</div>
路线
const appRoutes: Routes = [
{ path: '', component: HomeComponent, pathMatch: 'full' },
{ path: '1', component: Component1 },
{ path: '1/top100/:name', component: ComponentTop100 },
{ path: '2', component: Component2 },
{ path: '2/:viewType', component: Component2 },
{ path: '**', redirectTo: '/', pathMatch: 'full' }
];
我无法弄清楚这两个例子之间的区别。如果有人有任何见解或工作演示来实现我所追求的,那就太好了。
谢谢大卫