2017-01-06 10 views
1

私は次のルートを持っている:InvestmentsListComponents内部ユーザーがボタンをクリックした後特定のパスにリダイレクトするにはどうすればよいですか?

const routes: Routes = [ 
    { 
     path: '', component: InvestmentsCenterContainerComponent, 
     children: [ 
      { 
       path: '', component: InvestmentsCenter, 
       children: [ { 
        path: ':id', 
        children: [ { 
         path: '', 
         component: InvestmentsListComponent, 
         resolve: { investmentsData: InvestmentsDetailResolver }, 

        } ] 
       } ] 
      }, { 
       path: 'investment', component: InvestmentDetailComponent // <- cannot navigate to here 
      } 

     ] 
    }, 

]; 

、私はInvestmentDetailComponentに彼をリダイレクトする:

私はリダイレクトを試みるように、以下のものを使用しています:

this.router.navigate([ '/investment' ]).then((d) => console.log(d)); 

しかし、これはどこでも私をリダイレクトしません、私はpath: ':id;の子供の下でRoutesで適切なパスを入れてみましたが、それでもnの結果。私もrelativeTo属性でナビゲートしようとしました。任意の提案が高く評価されている

path: 'investments' 

は、それは上記のルートが親パスを持っていることは注目に値します。

+0

親パスとは何ですか? – echonax

+0

@echonaxの投資、メインのルーティングファイル – abedzantout

答えて

0

ナビゲートするときに/を入力すると、絶対パスとして機能します。

したがって、この場合には、正しいルートがあるべき

this.router.navigate([ '/investments/investment' ]).then((d) => console.log(d)); 

さらに詳しい情報:https://angular.io/docs/ts/latest/guide/router.html#!#relative-navigation

+0

にモジュールをロードしていますが、これはInvestmentDetailComponentをロードしません。 ':id'に関してリダイレクトしたいのですが? – abedzantout

+0

@ Predator44何がロードされますか?任意のエラー? w.r.tをナビゲートする場合は、 'relativeTo'パラメータを調べることができます。 – echonax

+1

はまったくありませんが、返される約束はfalseです。とにかくこの答えは正しい経路に私を置いたので、私はそれを受け入れられる答えと考える。ありがとうございました。 – abedzantout

関連する問題