javascript - 如果路径不存在,Angular 2 如何重定向到 404 或其他路径

标签 javascript angular angular2-routing

<分区>

如果 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路径

关于javascript - 如果路径不存在,Angular 2 如何重定向到 404 或其他路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36260839/

相关文章:

javascript - 将图像剪辑为椭圆形

javascript - 如何在 Angular 中使用子函数调用父 bool 值

angular - 在 Angular 组件内接收 POST 数据

Angular 2在守卫中获取当前路线

javascript - 在 Angular4 之外提供静态 html

javascript - Angular2 v3 组件路由器 : TypeError: Cannot read property 'split' of undefined

javascript - 如何在 onchange 函数中传递两个值?

javascript - 只读模式下的 TinyMCE 启用按钮

javascript - 动态 HTML 3 层嵌套引号 - 怎么办?

android - 如何接受许可以安装SDK软件包