我正在尝试使用http://127.0.0.1:8080/#/reset/finish?key=26983684729750581998
URL访问组件。
路由配置给出Error: Cannot match any routes. URL Segment: 'reset/finish'
:
export const passwordResetFinishRoute: Route = {
path: 'reset/finish',
component: PasswordResetFinishComponent,
outlet: 'loginOutlet'
};
以下是我的路由器输出配置:
<router-outlet></router-outlet>
<router-outlet name="loginOutlet></router-outlet>
我确定我正在导入路由配置。因为当我删除outlet: 'loginOutlet'
零件时,组件将显示在主路由器中。
提供出口时Angular找不到路由配置的原因是什么?
这些路线有很大的差异。第一个是带有子路由的路线,第二条路线是一条基于组件的路线,而没有孩子死记硬背。
对于第一个,您告诉您作为出口的孩子们加载路线。因此,一旦路由完成,在路线内,它将搜索<router-outlet></router-outlet>
并在那里加载PasswordResetFinishComponent
。
由于没有提及的名称,并且路由为",因此它将作为儿童路线加载。因此它将直接加载
<router-outlet>
<router-outlet></router-outlet>
</router-outlet>
。
但第二个,因为它是命名的路由器出口loginOutlet
。因此,它将找到<router-outlet name='loginOutlet'></router-outlet>
并将组件加载到其中。