如果 Angular 2 中不存在路径,我试图重定向 404 /
其他路径
我试过研究有一些方法用于 Angular 1 但不是 Angular 2。
这是我的代码:
@RouteConfig([
{
path: '/news',
name: 'HackerList',
component: HackerListComponent,
useAsDefault: true
},
{
path: '/news/page/:page',
name: 'TopStoriesPage',
component: HackerListComponent
},
{
path: '/comments/:id',
name: 'CommentPage',
component: HackerCommentComponent
}
])
例如,如果我重定向到 /news/page/
那么它会工作并返回一个空页面,你如何处理这种情况?
适用于 v2.2.2 及更新版本
在 v2.2.2 及以上版本中,name 属性不再存在,不应使用它来定义路由。应该使用路径 而不是名称 并且路径上不需要前导斜杠。在这种情况下,使用 path: '404'
而不是 path: '/404'
:
{path: '404', component: NotFoundComponent},
{path: '**', redirectTo: '/404'}
适用于 v2.2.2 之前的版本
你可以使用{path: '/*path', redirectTo: ['redirectPathName']}
:
{path: '/home/...', name: 'Home', component: HomeComponent}
{path: '/', redirectTo: ['Home']},
{path: '/user/...', name: 'User', component: UserComponent},
{path: '/404', name: 'NotFound', component: NotFoundComponent},
{path: '/*path', redirectTo: ['NotFound']}
如果没有路径匹配则重定向到NotFound
路径