2016-12-20 28 views
2

私は角度2のアプリケーションを構築しており、少し概念的な問題があります。角度2のフィルタリングされたルート

私のアプリケーションでは、検索バー、ナビゲーションリスト、およびコンテンツのためのルーターアウトレットが表示されるダッシュボードページがあります。私のナビゲーションリストで 私は、いくつかのリンクがあります:私はリンクのそれぞれをクリックしてください

...

  • 全てのアイテム、
  • マイアイテム、
  • 保留中のアイテムをI ItemsModuleとItemsComponentによって処理される/ itemsにナビゲートされています。 私は既にルートとリンクを実装していますが、どのリンクを使用したかを判断する方法には苦労しています。

    は、私はそれを実装するにはいくつかの方法について考えた:パラメータを持つ

    1. ルートと、私は(すべて/マイ/保留)を使用して何をしたか「フィルタ」を参照してコンポーネント内のスイッチケースを使用します。 -
    2. 特定のルートの選択肢例えば私は3つのルートを追加します: 2.1 /アイテムを - 私の項目を表示 2.3 /アイテム/保留するために - - 私は/すべての項目に 2.2 /アイテムを表示するように表示するには、保留中のアイテム

    さらに、上記のように、特定のアイテム(私が 'All'/'My'/'Pending'アイテムであるかどうか)を検索する検索バーがあります。 ナビゲーションとルーティングのすべてをどのように組み合わせて、すべての作業を一緒にすることができるのだろうか。

    誰かが自分の問題を「解決」する方法を見つけたら教えてください。コンポーネントで

    {path: 'items', component: ItemsComponent}, 
    {path: 'items/:type', component: ItemsComponent}, 
    {path: 'items/:type/:searchString', component: ItemsComponent} 
    

答えて

1

Iは3つのパスを使用する

this._route.params.subscribe(p => { 
    var searchString = p["searchString"]; 
    switch(p["type"]) { 
     case 'all': 
     //do something 
     break; 
     case 'mine': 
     //do something 
     break; 
     case 'pending': 
     //do something 
     break; 
     default: 
     //do something 
     break; 
    } 
} 
関連する問題