【发布时间】:2021-01-01 04:11:32
【问题描述】:
所以我已经阅读了一些关于这个主题的文章,但没有找到答案。
用例
- 如果应用程序在
/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)
},
]
}
];
audio.module:
@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>
【问题讨论】:
-
静态绑定
[routerLink]="['/audio']"不需要括号,控制台有错误吗? -
我试过有没有。没有变化。不过谢谢!控制台也没有错误:/
-
尝试使用
enableTracing调试路由事务以获取更多信息,请参阅此处angular.io/api/router/ExtraOptions -
当我点击
/tools时,我有一个 NavigationCancel 事件,错误为Navigation ID 3 is not equal to the current navigation id 4