angular2 router’解决问题被执行两次

我的angular2路由器的路由配置有问题,虽然只定义了一次解析执行两次.

这是我的路线定义:

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文档中找到关于子/父组件如何处理结算的相关信息……

最佳答案 可能与
Router 3.2.0 – Providers instantiated twice有关

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

点赞