我在使用这样的按钮可以正常工作的 Angular2 应用程序中遇到路由问题:
<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
}),