You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular中routerlink点击始终跳转至根路径问题求助

Angular路由RouterLink跳转异常问题修复

核心问题1:独立组件未导入RouterModule

你的SideMenuComponent是独立组件,但未导入RouterModule,导致routerLink指令无法被Angular识别。此时点击带有href="#"的a标签,浏览器会默认触发根路径跳转行为。

修复代码:

修改side-menu.component.ts,添加RouterModule的导入:

import { Component } from '@angular/core';
import { RouterModule } from '@angular/router';

@Component({
  selector: 'app-side-menu',
  standalone: true,
  imports: [RouterModule],
  templateUrl: './side-menu.component.html',
  styleUrl: './side-menu.component.scss'
})
export class SideMenuComponent {

}

核心问题2:移除干扰性的href="#"

即使导入了RouterModule,href="#"仍可能干扰路由跳转逻辑,建议直接移除该属性:
修改side-menu.component.html:

<li>
  <a routerLink="/user/dashboard" class="nav-link link-body-emphasis">
    <svg class="bi pe-none me-2" width="16" height="16"><use xlink:href="#speedometer2"></use></svg>
    Dashboard
  </a>
</li>
<li>
  <a routerLink="/user/teams" class="nav-link link-body-emphasis">
    <svg class="bi pe-none me-2" width="16" height="16"><use xlink:href="#table"></use></svg>
    My Teams
  </a>
</li>

额外优化:修复路由重定向拼写错误

你的user.routes.ts中重定向路径存在拼写错误(dashbaord应为dashboard),虽然不影响当前RouterLink问题,但会导致访问/user时无法正确重定向到仪表盘组件:

{
    path: '',
    pathMatch: 'full',
    redirectTo: 'dashboard',
} 

验证修复

完成上述修改后,点击侧边菜单链接即可正确跳转到/user/dashboard和/user/teams路径,不会再回到根路径。

内容的提问来源于stack exchange,提问作者Diceble

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 06:26:37