Suv*_*kar 4 angular-routing angular
我有如下的路线配置:
const routes: Routes = [
{ path: '', redirectTo: '/login', pathMatch: 'full' },
{ path: 'login', component: LoginComponent },
{ path: 'dashboard', component: DashboardComponent }
];
Run Code Online (Sandbox Code Playgroud)
现在,如果有人想访问像http://localhost:4200/xyzxyz这样的 url ,那么我会收到此错误
未捕获(承诺):错误:无法匹配任何路由。URL 段:'xyz'
但我想在上述情况下重定向到登录页面。
知道我怎样才能实现这一目标吗?
您应该添加通配符路由**来捕获任何意外/不匹配/未列出的 url 并将重定向添加到/login.
const routes: Routes = [
{ path: 'login', component: LoginComponent },
{ path: 'dashboard', component: DashboardComponent },
{ path: '', redirectTo: '/login', pathMatch: 'full' },
{ path: '**', redirectTo: '/login' }
];
Run Code Online (Sandbox Code Playgroud)
注意:**最后一条路由中的路径是通配符。如果请求的 URL 与配置中之前定义的路由的任何路径都不匹配,则路由器将选择此路由。确保它是路线列表中的最后一个条目!