2016-11-07 6 views
1

urlに特定の値だけがある場合、特定のコンポーネントを表示する方法を見つけようとしています。 は、基本的にこれが今のルーティングを探している方法です。特定の値に一致するAngular2ルート

const routes: Routes = [ 
    { 
    path: 'users', 
    component: MainComponent, 
    children: [ 
     { 
     path: ':id', 
     component: DashboardComponent, 
     children: [ 
      { 
      path: '1', 
      component: NeedToRenderThisComponent 
      }, 
      { 
      path: '', 
      component: DashboardComponent 
      }, 
      { 
      path: '', 
      outlet: 'sidebar', 
      component: SidebarComponent 
      } 
     ] 
     } 
    ] 
    } 
]; 

それでは、私が探していますがときに、ユーザーのヒットであるか「/ユーザー/ 1」に別の道に入り、ユーザーがNeedToRenderThisComponentが表示されます。他のすべての値にはDashboardComponentがあります。

DashboardComponentは2つのルータアウトレット

<router-outlet name="sidebar"></router-outlet> 
<router-outlet></router-outlet> 

答えて

0

あなたはpath: '**'ルートを使用して、Angular 2 dynamic tabs with user-click chosen componentsに示すように部品を自分で追加することができますが含まれています。

AFAIK値を一致させる方法はありません。古いルータには正規表現のルートがありましたが、現在のルータではまだ実装されていません。

更新

カスタムパスマッチャーのサポートが上陸してきた、おそらく https://github.com/angular/angular/issues/12442

+1

そこで、基本的thissがすべてを一致するとコンポーネントをレンダリングします、その後、コンポーネントで、私は次回のアップデートで利用できるようになりますURLに基​​づいて動的にコンポーネントをレンダリングする、そうですか? – user2732627

+0

まあ、それは私の考えでした。 –

+0

カスタムパスの一致がサポートされているようです。私の更新された答えを見てください。 –

関連する問題