解决角度2中未调用子路径的问题

时间:2017-01-05 23:26:13

标签: angular router resolve

路由器详细信息:

这是延迟加载的功能模块的路由详细信息。 路线是/ customers

const routes: Routes = [
{ path: '',
component: CustomersComponent,
children: [
  { path: '',    component: CustomersListComponent },
   { path: ':id',    component: CustomersDetailsComponent,
   resolve: {
      xxx: CustomerResolve1
    }
    ,children: [
     { path: ':module',    component: CustomersModuleDetailsComponent,
    resolve: {
      xxx: CustomerResolve2
    }
   }
   ] }
 ]
}

];

在2个解析器中,我只是写到我已经到达解析器的控制台。

如果我输入以下网址:

http://localhost:4200/customers/45/invoices

执行2个旋转变压器。

如果我在我的ts中按下执行以下内容的按钮:

this.router.navigate(['customers','100','invoices']);

只执行第一个解析器!

作为我最内部的组件“CustomersModuleDetailsComponent”显示信息 基于url,它没有被刷新,因为该组件的解析器没有被执行。

有什么建议吗? (除了将旋转变压器换成警卫) (以及通过@input或eventEmitter将id从父组件转移到子组件)

由于

1 个答案:

答案 0 :(得分:0)

我有同样的问题。似乎Angular Router中存在一个错误。

在修改父路线参数时,不会触发子控制器的解析器。