我正在尝试使用http://127.0.0.1:8080/#/reset/finish?key=26983684729750581998
网址访问组件。
路线配置提供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无法找到路线配置的原因是什么?
答案 0 :(得分:-1)
这些路线存在巨大差异。第一个是具有子路由的路由,第二个是基于命名组件的路由,没有子路由。
对于第一个,您要告知加载路线作为插座的孩子。因此,一旦路由完成,它将在路径内搜索<router-outlet></router-outlet>
并在那里加载PasswordResetFinishComponent
。
由于没有提到名称且路由是'',它将作为子路由加载。所以它将直接加载
<router-outlet>
<router-outlet></router-outlet>
</router-outlet>
。
但对于第二个,因为它是一个命名的路由器插座loginOutlet
。因此它会找到<router-outlet name='loginOutlet'></router-outlet>
并将组件加载到其中。