2017-05-15 4 views
0

Angular2はかなり新しいです。 Angular2でディープリンクを行う方法はありますか?このようなものはhttp://may-app.com/projects/1/files/2ですか?Angular2の深いリンク

私はこのコード

onClick(project){ 
    this.router.navigate(['/projects', project.id ]); 
} 

おかげでAngular2で提供ルーティングとルーティングパラメータを持つhttp://my-app.com/projects/1を行うことができます!

+0

を読むことをお勧めします、本当にあなたが求めているものは全く明らかではありません。はい、あなたは深いリンクを行うことができます、単にルータを使用してください。あなたが理解していない経路は何ですか?これまでに何を試しましたか? – Duncan

+0

上に貼り付けたコードは、http:// localhost:4200/projects/1に移動します。私が望むのは、http:// localhost:4200/projects/1/files/1に移動することです。ファイルデータはデータのプロジェクト配列にも含まれています。 –

+0

これは、親子ルート関係を確立した場合にのみ可能です。すなわち、 '/ file'は親で、'/1'はそのビューの子です。私の知る限り、あなたはできません。 – Nirus

答えて

2

ルータの子を追加することで実現できます。

{ path: 'product/:id', component: ProductDetails, 
    children: [   
     { path: 'file/:fileid', component: Overview } 

    ] 
    } 

ディープリンクについての詳細を読むために私はこの

https://angular-2-training-book.rangle.io/handout/routing/child_routes.html

+0

驚くばかりです。できます!ありがとうございました –

関連する問題