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

2024-04-17

路由器详细信息:

这是延迟加载的功能模块的路由详细信息。 路线是 /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
    }
   }
   ] }
 ]
}

];

在两个解析器中,我只是向控制台写入我已到达解析器。

如果我输入以下网址:

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

2 个解析器被执行。

如果我按下一个按钮,在我的 ts 中执行以下操作:

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

仅执行第一个解析器!

因为我最里面的组件“CustomersModuleDetailsComponent”显示信息 根据 url,它不会被刷新,因为该组件的解析器没有被执行。

有什么建议 ? (除了将解析器更改为守卫之外) (除了通过 @input 或 eventEmitter 将 id 从父组件传输到子组件之外)

Thanks


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

在这种情况下,当修改父路由参数时,不会触发子级解析器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决角度 2 中未调用子路由的问题 的相关文章

随机推荐