Angular 2 新路由器 - 检测 404

Angular 2 New router - detect 404

是否可以用Angular2的新路由来检测当前路由是否存在或者以404错误结束? 所以我可以将它设置回默认路由“/”。

我什么也没找到,我搜索了一个小时,但只找到了已弃用路由器的东西。

您可以在路由的 添加此路由,这意味着 Angular 2 RC1 路由器将转到此 MyDefaultComponent 如果 none 另一个定义的路由匹配请求的 URL:

{ path: '**', component: MyDefaultComponent }

您可以使用通配符来执行此操作,然后重定向到任何其他路由或为此使用 404 组件:

@RouteConfig([
    { path: '/', name: 'Welcome', component: WelcomeComponent, useAsDefault: true },
    { path: '/products', name: 'Products', component: ProductListComponent },
    { path: '/product/:id', name: 'ProductDetail',  component: ProductDetailComponent },

    // Redirect option:
    // { path: '/**', redirectTo:['Welcome'] },

    // Not found component option:
    // {path: '/**', component: NotFoundComponent},

    // Both together:
    { path: '/not-found', name: 'NotFound', component: NotFoundComponent},
    { path: '/**', redirectTo:['NotFound'] },
])

请注意,在我现在使用的 Angular 版本中,2.0.0-beta.15,如果只输入 path: '/*' 将无法工作,see here .

我遇到了同样的问题。根据最新文档,在 angular 2 中执行的唯一方法是

  1. 当路由与任何模式都不匹配时重定向到 pagenotfound

{ path: '**', redirectTo: 'pagenotfound' }

  1. 导航至组件,无需 URL 更改

{ path: '**', component: SomeComponent }