如果angular 2中不存在路径,我试图重定向404 /其他路径

我试过研究,有一些角1的方法,但没有角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/,它就工作了,它返回给我一个空页面,你如何处理这种情况?

推荐答案

For version v2.2.2 and newer

在版本v2中.2.2及以上,name属性不再存在,不应使用它来定义路由.应该使用path而不是name,路径上需要no leading slash.在这种情况下,使用path: '404'而不是path: '/404':

 {path: '404', component: NotFoundComponent},
 {path: '**', redirectTo: '/404'}

For versions older than 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路径

Angular相关问答推荐

使用注入的主机组件进行指令测试

RXJS运算符用于combineLatest,不含空值

停靠的Angular 应用程序的Nginx反向代理无法加载assets资源

在Angular 多选下拉菜单中实现CDK拖放排序的问题

使用Angular 13的NgxPrinterService打印时,第二页上的空白区域

除非将 signal.set 作为间隔的一部分调用,否则Angular 信号效果不会执行

Angular 12 区域环境切换器

Moment.js 和 Angular 库

nx workspace angular monorepo 在创建新应用程序时抛出错误

Rxjs Observable:仅为第一个订阅者获取 HTTP 数据,为其余订阅者获取缓存数据

角项目更新

带有 Angular 2 的 Django

不再需要 core-js 了吗?

如何检测滚动到html元素的底部

如何将服务变量传递到 Angular Material 对话框?

等待多个promises完成

Angular 5 手动导入语言环境

Angular2 中的providers提供者是什么意思?

如何从 EventEmitter 函数返回值?

ng add 与 npm install 在 Angular 6 中的区别