2017-04-25 2 views
1

私はAngular 4.0.0 SPAにいくつかのナビゲーションリンクを用意しています。私は、彼らが正しいに見えるこれらのリンク上にカーソルを移動した場合routerLinkとqueryParamsで構築されたリンクをクリックしても何も起こりませんか?

<!-- MONTH --> 
    <li class="right"> 
    <a [routerLink]="[]" [class.active]="insights.interval===2" queryParamsHandling="merge" [queryParams]="{range: 'MONTH'}"> 
     <span>M<strong>MONTH</strong></span> 
    </a> 
    </li> 

    <!-- WEEK --> 
    <li class="right"> 
    <a [routerLink]="[]" [class.active]="insights.interval===1" queryParamsHandling="merge" [queryParams]="{range: 'WEEK'}"> 
     <span>W<strong>WEEK</strong></span> 
    </a> 
    </li> 

:私はこのようにそれらを構築するよ、私はそれらをクリックしたときに

/insights/brand/5889cdfea7eb8f0e7c56bc9f?range=MONTH 
/insights/brand/5889cdfea7eb8f0e7c56bc9f?range=WEEK 

しかし、何も起こりません。コンポーネントに設定されているブレークポイントはありません。

どのようにルータをデバッグして、何も起こっていないのを理解できますか?

ここには何も通っていませんか?

@NgModule({ 
    imports: [ 
    RouterModule.forChild([ 
     { 
     path: 'insights', 
     component: InsightsComponent, 
     canActivate: [User], 
     children: [ 
      { 
      path: 'brand/:id', 
      component: InsightsBrandComponent 
      }, 
      { 
      path: 'brand-item/:id', 
      component: InsightsBrandItemComponent 
      }, 
      { 
      path: 'item/:id', 
      component: InsightsItemComponent 
      }, 
      { 
      path: 'venue/:id', 
      component: InsightsVenueComponent 
      } 
     ] 
     } 
    ]) 
    ], 
    exports: [RouterModule] 
}) 
export class InsightsRoutingModule { } 

[編集]

ここでは、ルータのデバッグです:あなたは何を見ることができます

console screenshot

+0

私は空のrouterLink配列を見たことがありません。そこに何もないまま経路を決める方法が分かっていないのでしょうか?私はホバリングがあなたに正しいルートを与えていることに驚いています。問題を解決するために使用できる問題を示すPlunkerをまとめることができますか? – DeborahK

+0

この点に関して...空白の経路に関するこの会話は興味深いかもしれません:https://github.com/angular/angular/issues/6971。クイックスキムからは、ルートが自分自身にルーティングされるように思えます。私は*あなたが欲しいものだと思いますか? – DeborahK

+0

ええ、私はちょうど同じルートに戻るが、クエリ文字列が変更されています。私のコンポーネントには、クエリ文字列を検査し、それに基づいてAPIから新しいデータを取得するコードがあります。しかし、そのコードは実行されていません。 – Eliot

答えて

1

一つの方法を、それが重要な場合にはここで

[routerLink]="[]" 

は、ルーティングですルーティングで起こっているのは、ルートトレースをオンにすることです。ここに例があります:https://github.com/DeborahK/Angular-Routing

RouterModule.forRoot([ 
     { path: 'welcome', component: WelcomeComponent }, 
     { path: '', redirectTo: 'welcome', pathMatch: 'full' }, 
     { path: '**', component: PageNotFoundComponent } 
    ], { enableTracing: true }) 
+0

ありがとう!上記の編集でそれを追加しました。 – Eliot

関連する問題