2016-09-13 5 views
1

doesn'nスタートアップコンポーネントにルーティング。そうでなければ、それらをログインコンポーネントにルーティングしたいと思います。しかしルーティングはここでは機能しません。角度2(RC6) - 私は、ユーザーが認証された場合、起動コンポーネント(通常はapp.component.ts)で確認したい私の実際のアプリケーションで作業

私はそれが再生可能である簡単なPlunker例を、作成します。

  1. オープンlive example
  2. ボタンをクリックして「1をサンプリングするためにナビゲート」 - >すべてが
  3. に動作しますしかし、あなたは見ることができ、その私はすでにapp/app.component.tsで同じルーティングコマンドを持っている - しかし、アプリケーションがコンポーネントにルーティングされません。なぜ??あなたの助けのための

ありがとう!

答えて

1

あなたはsetTimeout()それがうまく働いて

setTimeout(() => { 
    this.router.navigate(["/sample1", "2"]); 
}); 

Plunker example

でそれをラップした場合には、デフォルトのルーティングがrouter.navigate()にあなたの呼び出しの後に行われるので、有効になりませんようです。

私の代わりにsetTimout()の同じことを達成するためのより良い方法があると確信しているが、私はそれが問題を示すために罰金だと思います。

は、例えば、これはあなたがまた、デフォルトルートのcanActivateガードを使用して、そこrouter.navigate()を行うことができ、同じ動作

RouterModule.forRoot([ 
    { path: "", redirectTo: '/sample1/2', pathMatch: 'full' } 
    { path: "sample1/:param1", component: Sample1Component }, 
    { path: "**", component: HomeComponent } 
]) 

ことになります。

+1

あなたは、私はまったく同じこと:)ニースの記事を書く –

+2

としていたが速すぎギュンターは申し訳ありません;-)私はすでに> 5000件の回答を投稿しました。練習はマスターを作成します。ただ諦めないでください。 GünterZö[email protected] –

+1

は:あなたの答えのためにとあなたの不断のサポートをありがとう!あなたは今何度か私を助けました! –

関連する問題