Angular懒加载路由无法跳转admin模块,访问/admin总跳转到/student怎么办
问题排查及解决方案
你提供的根路由app-routing.module.ts配置本身没有语法错误,懒加载写法符合Angular规范,问题出在子模块配置或附加路由逻辑上,可按照以下顺序排查:
- Admin功能模块未导入AdminRoutingModule
这是最常见的原因,检查admin.module.ts的imports数组,确认是否已经加入了AdminRoutingModule,如果没加的话子路由规则不会生效,Angular匹配不到/admin下的路由就可能触发异常重定向。正确配置示例:// admin.module.ts 关键配置 import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { AdminRoutingModule } from './admin-routing.module'; // 导入admin模块自己的组件 import { DashbordComponent } from './dashbord/dashbord.component'; @NgModule({ declarations: [DashbordComponent], imports: [ CommonModule, AdminRoutingModule // 此处必须引入子路由模块,否则子路由不生效 ] }) export class AdminModule { } - admin-routing模块引用了错误的组件
你当前admin-routing.module.ts里是从../student/dashbord/dashbord.component导入的仪表盘组件,属于跨模块引用其他业务的组件,你需要先创建admin模块自己的仪表盘组件,再导入admin模块下的对应组件,避免逻辑混乱。 - 存在未声明的路由守卫/拦截器导致重定向
如果你项目中配置了全局路由守卫、或者HTTP拦截器做了登录态校验,在未登录的情况下强制重定向到/student登录页,也会出现访问/admin直接跳转的情况,检查守卫逻辑是否排除了/admin相关路由,或者给admin模块也适配对应的登录校验逻辑。 - 缓存或编译问题
可以先终止当前的ng serve进程,重新执行ng serve启动项目,同时清空浏览器缓存,避免旧的编译产物导致路由规则不生效。
内容的提问来源于stack exchange,提问作者kanishk sharma
相关产品推荐
相关产品推荐

