当base href不是root时,Angular 2默认路由

时间:2017-04-13 02:12:28

标签: angular angular2-routing

我定义了这些路线:

const routes: Routes = [
    { path: 'Home', component: DashboardComponent },
    { path: '', redirectTo: '/Home', pathMatch: 'full' }, 
    { path: '**', component: NotFoundComponent }, 
];

和base href设置如下:

<base href="/Site1/" />

当我导航到localhost / Site1时,我得到NotFound组件,当我期望它重定向到/ Home

如果我尝试使用localhost / Site1 /(带有正斜杠),它会匹配默认路由并重定向到/ Home

如何才能获得正确重定向的第一个网址?

2 个答案:

答案 0 :(得分:1)

您在路线定义中添加了额外的/

    const routes: Routes = [
            { path: 'Home', component: DashboardComponent },
            ///////////////////////////////////////////////////////////////////////
            //        removed the extra slash in the below line 
            ///////////////////////////////////////////////////////////////////////
            { path: '', redirectTo: 'Home', pathMatch: 'full' },  
            { path: '**', component: NotFoundComponent }, 
        ];

答案 1 :(得分:0)

除了解决方法外,还有其他解决方法,我可以通过替换来实现:

{ path: '', redirectTo: '/Home', pathMatch: 'full' }, 

与:

{ path: '', component: DashboardComponent },