我的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