2017-04-14 15 views
1

urlから複数のパラメータを抽出したい。私は親コンポーネント上のリンクは、私はこの角2 - URLから複数の変数を抽出する

をやっている、それぞれのルートファイルで

[routerLink]="['/loggedIn','warehouse','move-request',moveRequest.id, 'issued-inventory',issuedInventory.id,'list']" 

でパラメータ25

を抽出したい

www.example.com/parent-component/2/list/child-component/5/list

のようなURLがあるとし
{path:':move/issued-inventory',component:IssueInventoryComponent, children : ISSUED_INVENTORY_ROUTES} 

子ルートファイルは、私は両方の変数にアクセスしたい次のコンポーネントで

{path:':myid/list',component:ListIssueInventoryComponent}, 

move、コンソール上にmyid

this.sub = this.activatedRoute.params.subscribe((params : Params) => 
     { 
      this.moveRequestId = params['move']; 

     }); 

moveRequestIdが定義されていないのである 私が間違って何をしているのですか?これらの変数にアクセスするには?

Router Version :  "@angular/router": "^3.3.1" 
+0

ISSUED_INVENTORY_ROUTESはどのように見えますか? – DeborahK

答えて

2

親ルートのパラメータを抽出するために親ルートを取得する必要があります。しかし、それを行う前に、routerインスタンスが現在のルートの親を取得するために必要ですActivatedRoute

constructor(private activatedRoute: ActivatedRoute, private router: Router){ 

} 

this.sub = this.activatedRoute.params.subscribe((params : Params) => { 
    //retrieve parent activated route 
    const parentRoute = this.router.routerState.parent(activatedRoute); 
    this.moveRequestId = params.params['move']; 
}); 

むしろあなただけの現在の有効ルートsnapshotプロパティを参照することができ、それはすでに親ルートへの参照を持っています。

let move = this.activatedRoute.parent.params['move']; 
関連する問題