angular - routerLinkActive 不要触发好的链接
问题描述
所以我读了一些关于这个主题的文章,但没有找到答案。
用例
- 如果应用程序在
/tools
路线上启动,它就可以工作。然后我切换到/audio
,它正在工作。 - 如果应用程序在
/audio
路线上启动,它就可以工作。然后我切换到/tools
,它不工作。活动项目仍然是“音频”,我不知道为什么。
问题
该类active
未添加到好项目。
app.routing.ts
const routes: Routes = [
{
path: '',
component: HomeComponent,
children: [
{ path: '', redirectTo: 'tools', pathMatch: 'full' },
{ path: 'tools', component: ToolsComponent },
{
path: 'audio',
loadChildren: () => import('./audio/audio.module').then(m => m.AudioModule)
},
]
}
];
音频模块:
@NgModule({
declarations: [AudioComponent, AudioDetailsComponent],
imports: [SharedModule, AudioRoutingModule],
})
audio.routing.ts :
const routes: Routes = [
{ path: '', component: AudioComponent },
{ path: ':id', component: AudioDetailsComponent }
];
menu.component.html(在 HomeComponent 中):
<mat-nav-list fxLayout="column">
<a mat-list-item [routerLink]="['/tools']" routerLinkActive="active">
<span mat-line>Tools</span>
<mat-icon matListIcon>build</mat-icon>
</a>
<a mat-list-item [routerLink]="['/audio']" routerLinkActive="active">
<span mat-line>Audio</span>
<mat-icon matListIcon>headset</mat-icon>
</a>
</mat-nav-list>
解决方案
我发现“为什么”它不起作用:在 audio.component.ts 中,我router.navigate
快速连续调用。这个答案解决了我的问题
我只是必须重新格式化我的代码。
推荐阅读
- php - PHP多维数组:删除外部数组,删除索引键和用逗号分隔的剩余数组
- java - 这个回报有什么问题?
- android - Ionic 4 - 安装运行执行完整的构建和安装,因为设备上的安装与磁盘上的本地构建不匹配
- pdflib - PDFlib - 围绕中心旋转任意角度的对象
- mysql - 使用 SELECT 时如何更改属性名称?
- java - 我如何将所有子文件夹添加到类路径 [like -cp "lib\**\*"]
- regex - 有没有办法用正则表达式触发器制作崇高的片段?
- go - 理解 GO 变量赋值
- python - Django 频道无法从异常中导入名称 RequestAborted
- clockify - Clockify 保存了半个月的报告