javascript - 如何设置角度路由
问题描述
这是我的工作。
我设置了一个守卫将请求URI /admin转发到/login,您可以参考/admin/admin.guard.ts了解详细信息。
它工作正常。但是,当请求 URI 是 /admin/abc 时,它不起作用。
以下是/admin/admin-routing.module.ts 内容:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { AdminComponent } from './admin.component';
import { AdminGuard } from './admin.guard';
const routes: Routes = [
{
path: 'admin',
canActivate: [AdminGuard],
component: AdminComponent,
children: [
{
path: '',
redirectTo: 'admin',
pathMatch: 'full'
},
{
path: '**',
redirectTo: 'admin',
pathMatch: 'full'
}
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class AdminRoutingModule { }
我该如何解决这个问题?
解决方案
使用绝对路径进行重定向:
const routes: Routes = [
{
path: 'admin',
canActivate: [AdminGuard],
component: AdminComponent,
children: [
{
path: '',
redirectTo: '/admin',
pathMatch: 'full'
},
{
path: '**',
redirectTo: '/admin',
pathMatch: 'full'
}
]
}
];
如果您使用相对路径,则会出现无限循环的重定向。从 /admin/123 到 /admin/admin 到 /admin/admin 等等。
推荐阅读
- node.js - 如何在 [Function (anonymous)] 中提取数据
- excel - vba 将范围与范围相乘
- nodemon - 无法通过终端全局安装nodemon,显示错误
- python-requests - Python多线程处理单个记录两次,即使它在第一个线程中成功,任何想法为什么会发生这种情况?
- xamarin.android - 滚动到布局底部
- python - ValueError:conv2d 层的输入 0 与层不兼容 :: 输入形状的预期轴 -1 具有值 1
- powerbi - Power BI:DAX SWITCH 函数中的逻辑测试
- tensorflow - 如何在张量流中主动更新数据集输入管道
- javascript - socket.io 中超出的最大调用堆栈大小
- c# - ASP.NET MVC 组合框值加载