2017-03-11 81 views
0

我有在Angular2應用與路線的麻煩,其中使用這樣的按鈕正常工作:Angular2 [routerLink]作品,this.router.navigate似乎崩潰的應用程序

<button [routerLink]="['/home/maincomponent']>Click</button> 

但使用相同的在一個函數中路由失敗 - 頁面似乎加載一瞬間,然後應用程序完全刷新並將我放回主/根頁面,但控制檯上沒有錯誤。

goToComponent() { 
    this.router.navigate(['/home/maincomponent']); 
} 

而且,只需輸入瀏覽器的路徑導航到該路由加載成分的微沒有任何錯誤或重定向。

http://localhost:4000/#/home/component 

路由器配置:

const routes: Routes = [ 
    { 
    path: 'home', 
    component: HomeComponent, 
    children: [{ 
     path: '', 
      redirectTo: 'dashboard', 
      pathMatch: 'full' 
     }, 
     { 
     path: 'dashboard', 
      component: DashboardComponent 
     }, 
     { 
     path: 'search', 
      component: SearchComponent 
     }, 
     { 
     path: 'maincomponent', 
      component: MainComponent 
     }, 
     { 
     path: '**', 
      component: DashboardComponent 
     }] 
    } 
]; 

@NgModule配置:

RouterModule.forRoot(routes, 
{ 
    useHash: true, 
    preloadingStrategy: PreloadAllModules 
}), 
+0

請問你可以把你的路由配置。 –

+0

我已將路由器配置添加到問題中。謝謝! –

回答

1

我找錯了地方的問題。我想綁定函數調用(點擊)到一個

<a href="" (click)="goToComponent">LINK</a> 

元素,它失敗。

切換到

<span (click)="goToComponent">LINK</span> 

元件解決了這個問題。