2017-10-09 79 views
0

我有下面的代码角2路线不重装组件

{ 
    path: 'clientReports', 
    component: ClientsRootComponent, 
    children: [ 
     { 
      path: ':reportId', 
      component: ClientsReportComponent,   
      children: [ 
       { 
        path: ':countryId/:branchId', 
        component: ClientsGridComponent,      
       } 
      ] 
     } 
    ] 
} 

及以下链接

app/clientReports/1/1/1 
app/clientReports/2/1/1 
app/clientReports/3/1/1 

每当我点击一个链接,我可以看到ClientsReportComponent不会重新加载,而是存在一个被重用并导致我在该组件的提供程序中声明的服务生存期问题。

不应该是组件ClientsReportComponent每次点击一个新的链接时重新加载?

回答

1

是的,如果你已经在同一个组件中,它不会重新加载组件。 如果你想在路由上做一些参数改变你已经在的组件,那么你必须订阅queryParam/routeparam更改。

请从下面的堆叠链路

Router Param Changes

+0

ClientsRootComponent有一些服务注入,我需要销毁和重用。因此,重用组件对我来说至关重要 – pantonis

+0

在这种情况下,你不能使用EventEmitter并从父组件订阅? – rijin

+0

有没有什么方法可以覆盖这种行为? – pantonis