angular2 router'解决被执行两次

时间:2016-08-26 06:35:04

标签: angular angular2-routing

我的 angular2路由器 Routes配置存在问题,resolve执行两次虽然只定义了一次。

这是我的Routes定义:

export const AppRoutes: Routes = [
  {path: '', component: HomeComponent},
  {
    path: 'dashboard',
    component: DashboardComponent,
    children: [
      {
        path: '',
        component: DashboardSummaryComponent,
        resolve: {
          userAccount: UserAccountResolve
        }
      },
      ...

当我导航到'/dashboard'时,如下所示:

this.router.navigate(['/dashboard'])

DashboardSummaryComponent(即UserAccountResolve)的决心执行两次......

有人可以解释一下原因吗?这是预期的吗?

编辑1 必须注意UserAccountResolve实际上是 http 来电。此外,第一个调用(失败的调用)会导致401错误。(这似乎与问题无关)

编辑2 :问题可能与使用子组件有关,但我无法在angular 2文档中找到有关子/父组件如何处理结算的相关信息。 ..

2 个答案:

答案 0 :(得分:1)

可能与Router 3.2.0 - Providers instantiated twice

有关

尝试将@ angular / router降级为~3.1.0

答案 1 :(得分:1)

此问题已在Angular 4.0中修复