如何处理“无法匹配任何路线”错误?

时间:2018-09-17 11:37:36

标签: angular error-handling

当用户导航到与任何路由都不匹配的URL时,Angular路由器会引发错误

  

无法匹配任何路线。网址段:[...]

处理此特定错误的正确方法是什么?

当使用ErrorHandler中指定的自定义ExtraOptions时,此错误作为通用Error实例出现,因此匹配的唯一方法是对err.message进行正则表达式,但这听起来并不合理是的。

3 个答案:

答案 0 :(得分:1)

当用户导航到与任何路由都不匹配的URL时,您可以重定向到另一条路由。按照示例,所有未定义的路由都将重定向到仪表板。

在这样的路线中定义::

{ path: '', redirectTo: 'dashboard', pathMatch: 'full' },
{ path: 'dashboard', loadChildren: './Component/dashboard/dashboard.module#DashboardModule'},
   { path: '**', redirectTo: '' }

答案 1 :(得分:0)

您可以添加{path:'**',redirectTo:'default route'}

答案 2 :(得分:0)

您好,还有另一种方法来处理路由器引发的错误:

constructor(private router: Router) {
    this.router.errorHandler = (error: any) => {
        // do some stuff
    }
  }