在我的路由器配置中,我在路径DashboardComponent
下配置了'dashboard'
,并且我想在没有指定路径时自动将用户重定向到此路由(空路径,所以只是{{ 1}})。
这是我的代码:
/
未处理的承诺拒绝:路由'{path}的配置无效: “”,redirectTo:“dashboard”}':请提供'pathMatch'。默认 'pathMatch'的值是'prefix',但通常意图是使用 '完全'
答案 0 :(得分:2)
问题是缺少空路线的const appRoutes: Routes = [
{ path: '', redirectTo: 'dashboard'},
{ path: 'dashboard', component: DashboardComponent },
/* other routes... */
];
属性,默认为pathMatch
。
但是,在这种情况下, prefix
值应设置为 pathMatch
:
full
原因如下:
从技术上讲,pathMatch ='full'会导致路径被击中 URL的剩余,不匹配的部分匹配''。在这个例子中, 重定向位于顶级路由中,因此剩余的URL和 整个网址都是一样的。
另一个可能的pathMatch值是'prefix',告诉路由器 当剩余的URL以。开头时匹配重定向路由 重定向路由的前缀路径。
这里不要这样做。如果pathMatch值为'prefix',则为每个URL 会匹配''。
有关详细信息,请参阅官方文档:https://angular.io/guide/router#redirecting-routes