Angular2路由重定向的原因不明

时间:2017-07-20 06:49:01

标签: angular angular2-routing angular-routing

我的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>标记。 添加它使一切都按预期工作。

0 个答案:

没有答案