我具有下面的路由配置:
const routes: Routes = [
{ path: '', redirectTo: '/login', pathMatch: 'full' },
{ path: 'login', component: LoginComponent },
{ path: 'dashboard', component: DashboardComponent }
];
现在,如果有人想访问 xyz
url,例如http://localhost:4200/xyz,那么我会遇到此错误
undurew(在承诺中(:错误:无法匹配任何路由。URL段: 'xyz'
,但我想将上述情况重定向到登录页面。
知道我该如何实现?
您应该添加通配符路由**
以捕获任何意外的/不匹配的/未列出的URL并将重定向添加到/login
。
const routes: Routes = [
{ path: 'login', component: LoginComponent },
{ path: 'dashboard', component: DashboardComponent },
{ path: '', redirectTo: '/login', pathMatch: 'full' },
{ path: '**', redirectTo: '/login' }
];
NOTE :最后一条路线中的**
路径是通配符。如果请求的URL与配置前面定义的路由不匹配任何路径,则路由器将选择此路由。确保这是路由列表中的最后一个条目!
只需添加一个catch-all路径
const routes: Routes = [
{ path: 'login', component: LoginComponent },
{ path: 'dashboard', component: DashboardComponent },
{ path: '**', redirectTo: '/login' }
];