Angular,router.navigate在页面重新加载后首次延迟

时间:2019-11-27 10:12:38

标签: angular typescript

我尝试做一个简单的router.navigate()

navigateToEmployeeView() {
    console.log('DEBUG: NAVIGATE');
    this.loading = true;
    this.router.navigate(['employee']);
  }

它按预期工作,唯一的问题是,每次重新加载新页面后,路由器将URL更改为新请求的页面最多需要0.5-1秒。 navigateToEmployeeView()会立即执行,但是要花一些时间才能导航到.../employee。它会在当前URL上保留一会,直到最终导航到新请求的URL。但这仅在每次重新加载后第一次发生。之后,立即导航到新URL。

有人知道在页面重新加载后可能会延迟第一次导航到新URL的原因吗?

编辑:

此处定义了路线

const homeRoutes: Routes = [
  {
    path: '',
    component: HomeComponent
  },
  {
    path: 'employee',
    loadChildren: 'app/employee/employee.module#EmployeeModule',
    canActivate: [AuthGuard]
  },
  // more stuff 
];

@NgModule({
  imports: [RouterModule.forChild(homeRoutes)],
  exports: [RouterModule]
})
export class HomeRoutingModule {
}

1 个答案:

答案 0 :(得分:0)

可能这不是问题,只是连接速度有些慢。

考虑模块是延迟加载的,您只会遇到页面重新加载的速度降低;这可能是由于浏览器首次在连接上获取延迟加载的模块需要多长时间。 (通过在浏览器开发者控制台上查看“网络”标签来进行检查。)