我有一个重要的要点,我正在尝试使用routerlink进行链接。但是,链接无法导航。它们根本不可单击。由于激活了routerLinkActive CSS,当我手动走相应的路线时,它们会做出相应的反应。
我正在尝试将路线放到包含SVG图片的div上。
我已经尝试了普通a标签上的链接,只是为了查看它是否与SVG实现有关。我很确定所有子级路由都正确执行。
我的HMTL
<mat-sidenav-container fxFlexFill class="example-container">
<mat-sidenav #sidenav mode="side" opened="true" class="mat-elevation-z6">
<div class="side-nav-btns">
<div class="item"
[routerLink]="['./dashboard']"
[routerLinkActive]="['active-nav-btn']">
<svg-icon class="side-nav-btn" [applyCss]="true" src="../../assets/dashboard.svg"></svg-icon>
</div>
<div class="item"
[routerLink]="['./bot']"
[routerLinkActive]="['active-nav-btn']">
<svg-icon class="side-nav-btn" [applyCss]="true" src="../../assets/circuit.svg"></svg-icon>
</div>
<div class="item"
[routerLink]="['./lobby']"
[routerLinkActive]="['active-nav-btn']">
<svg-icon class="side-nav-btn" [applyCss]="true" src="../../assets/poker-table.svg"></svg-icon>
</div>
<div class="item"
[routerLink]="['./tournament']"
[routerLinkActive]="['active-nav-btn']">
<svg-icon class="side-nav-btn" [applyCss]="true" src="../../assets/tournament.svg"></svg-icon>
</div>
</div>
</mat-sidenav>
<mat-sidenav-content fxFlexFill>
<router-outlet></router-outlet>
</mat-sidenav-content>
</mat-sidenav-container>
我的组件路线
const platformRoutes: Routes = [
{
path: '', component: PlatformComponent, children: [
{path: '', redirectTo: 'dashboard', pathMatch: 'full'},
{path: 'dashboard', component: DashboardComponent},
{path: 'bot', component: BotComponent},
{path: 'lobby', component: LobbyComponent},
{path: 'tournament', component: TournamentComponent}
]
}
];
@NgModule({
imports: [
RouterModule.forChild(platformRoutes)
],
exports: [RouterModule]
})
export class PlatformRoutingModule {
}
我的根路由
const appRoutes: Routes = [
{path: '', pathMatch: 'full', redirectTo: 'landing-pages'},
{path: 'landing-pages', loadChildren: './landing-pages/landing-pages.module#LandingPagesModule'},
{path: 'auth', loadChildren: './auth/auth.module#AuthModule'},
{path: 'platform', loadChildren: './platform/platform.module#PlatformModule'}
];
@NgModule({
imports: [
RouterModule.forRoot(appRoutes, {preloadingStrategy: PreloadAllModules, useHash: true})
],
exports: [RouterModule]
})
export class AppRoutingModule {}
我在平台模块中包括了所有子组件。
当我单击其中一个图标时,我希望它可以导航到相应的路线,但是,我目前无法单击它们。
答案 0 :(得分:0)
DIV不是可操作的元素,请尝试使用锚标记,例如:
<a class="item" [routerLink]="['./dashboard']" [routerLinkActive]="['active-nav-btn']">
<svg-icon class="side-nav-btn" [applyCss]="true" src="../../assets/dashboard.svg"></svg-icon>
</a>
答案 1 :(得分:0)
我能够弄清楚。它与CSS足够有趣。我将sidenav的z索引设置为-1,因为我也在使用工具栏,并且它覆盖了阴影。
但这成功了,所以我无法与sidenav中的任何东西交互(有意义),所以我只是更改了z-index并使它工作。