2016-11-24 102 views
5

我想从一个子路由导航到主路由,但没有任何反应。Angular 2导航到根路由“/”

I.e.目前的路线是/projects

this.router.navigate(['/'])也没有routerLink="/"的作品。

我routerConfig看起来像这样

const routes: Routes = [ 
{ 
    path: '', 
    component: HomeComponent 
}, 
{ 
    path: '/projects', 
    component: ProjectsComponent 
} 
] 

我如何去这样做呢?

+0

尝试添加父......像这样:this.router.parent.navigate([“/”]) – Anokrize

+1

此外,当你说孩子将其路由如果你添加了你的目录层次结构,这样会很有帮助,所以我可以准确地看到你正在尝试做什么。我很肯定我的答案会帮助你,但如果它不,那么告诉我你的目录是如何设置的,所以我可以帮助更多。 – wuno

回答

5

尝试添加该redirectTo你的路线,

const routes: Routes = [ 
    { path: '', redirectTo: 'home', pathMatch: 'full' }, 
    { path: '/home', component: HomeComponent }, 
    { path: '/projects', component: ProjectsComponent } 
    ]; 
+0

这工作正确。虽然我不明白为什么我的方法无法工作。你能否详细说明为什么创建重定向路由有效。 – koech

+0

它与子组件有关。例如,我认为如果你的家庭组件。实际上是旁边的app.component而不是/components/home.component我不认为这是必要的。我老实说不太确定,但我自己花了6个小时。所以我觉得你的痛苦兄弟我感到你的痛苦。 – wuno