2017-08-11 138 views
0

這是我當前設置嵌套路由鏈接角4

- app (Folder) 
    - app-routing.module.ts (File) 
    - client (Folder) 
     - client-routing.module.ts (File) 
      - service (Folder) 
       - service-routing.module.ts (File) 
       - service1.componenent.ts (File) 
       - service2.componenent.ts (File) 

所以,現在如果我使用router.navigateByUrlservice1.componenet我必須做這樣的:

this.router.navigateByUrl('/client/service2'); 

我必須保持嵌套路由模塊,因此知道「父母」的扣肉 TE以後可能是一個問題,我想知道是否有一個更有效的解決方案而不是複製整條路線,是這樣的:

this.router.navigateByUrl(parentRoute + '/service2'); 

凡parentRoute它的嵌套路線的彙編。

回答

1

您可以嘗試在service1component中使用ActivatedRoute。 類似這樣的:

import { Router, ActivatedRoute } from '@angular/router'; 

@Component({ 
... 
}) 
export class Service1Component { 
constructor(
    private _router:Router, 
    private _route: ActivatedRoute 
){} 

... 

    navigate(){ 
    this._router.navigate(['./service2'],{ 
     relativeTo: this._route 
    }); 
    } 
}