我的angular2路由存在问题,导致所有子路由都将URL更改为root。
export const appRoutes: Routes = [
{ path: '', component: TransferComponent, pathMatch: 'full' },
{ path: 'transfer', component: TransferComponent },
{ path: 'converter', component: ConverterComponent },
{ path: 'beneficiary', component: PortalTransfersComponent },
{
path: 'portal', component: PortalComponent,
children: [
{ path: '', redirectTo: 'transfers', pathMatch: 'full' },
{ path: 'profile', component: PortalProfileComponent },
{ path: 'transfers', component: PortalTransfersComponent }
]
},
{ path: '**', component: NotfoundComponent }
];
@NgModule({
imports: [
RouterModule.forRoot(appRoutes),
BsDropdownModule.forRoot(),
TooltipModule.forRoot(),
ButtonsModule.forRoot(),
TabsModule.forRoot(),
ModalModule.forRoot()
],
exports: [
RouterModule
],
providers: []
})
export class AppRoutingModule { }
这些是我的路线,所有这些都是有效的。即,当我转到/portal/transfers
时,会显示正确的组件,并且在这方面它正在运行。但是,如果我查看浏览器的地址栏,则它不会显示/portal/transfers
,而是显示网络根目录。
如果不是因为如果我刷新页面而不是PortalTransfersComponent
,那么我会得到TransferComponent
有谁知道可能导致这种情况的原因?
值得注意的是,如果我通过以下链接转到/beneficiary
然后/portal/transfers
,则会将网址更改为/beneficiary
而不是根
原来错误与路径文件没有直接关系。
PortalComponent上存在某种脏修复,导致缺少<router-outlet>
标记。
添加它使一切都按预期工作。