2016-07-28 5 views
1

おはよう。子どもと一緒に新しいルートがどのように角度2 rc 4で動作するのか理解できません。には子がありますが、 "はどのルートにも一致しません"というエラーが表示されます "と表示されます。私はこの方法でルーティングします:this.guide.navigate(['test']);。 これは私が私のルートを宣言する方法です:子供とのルートは一致することはできません。

const routes: RouterConfig = [ 
    { 
     path: '', 
     component: LogInComponent 
    }, 
    { 
     path: 'pin',  
     component: PinComponent, }, 
    { 
     path: 'test', 
     component: TestComponent, 
     children: [ 
     { 
      path: '/:page', 
      component: FoodComponent 
     } 
     ] 
    } 
] 

export const mainRouterProviders = [ 
    provideRouter(routes) 
]; 

私は(「パス: 『/』」のような)の試験では、デフォルトでいくつかのページを使用することはできませんその子がTestComponentのコンストラクタ内のタブとそのリストのロードのようなものですので。

答えて

2

は、そうでない場合の例/pingのためにいくつかにリダイレクトtestにデフォルトルートを追加しLogInComponent

  • に子ルートpingを検索する、

    • は、最初のルートにpathMatch: 'full',を追加するいくつかのことがありますデフォルトのIDまたはダミーコンポーネントです。コンポーネントが<router-outlet>であるが、コンポーネントを追加するルートがない場合、Angularは好きではありません。

    const routes: RouterConfig = [ 
        { 
         path: '', 
         pathMatch: 'full', 
         component: LogInComponent 
        }, 
        { 
         path: 'pin',  
         component: PinComponent, }, 
        { 
         path: 'test', 
         component: TestComponent, 
         children: [ 
         { 
          path: '', 
          pathMatch: 'full', 
          redirectTo: 'myDefaultId' 
          // or 
          // component: DummyComponent 
         }, 
         { 
          path: '/:page', 
          component: FoodComponent 
         } 
         ] 
        } 
    ]; 
    
  • +0

    それは働きました!ありがとう。デフォルトルートを使用しない方法はありますか? – Amelina

    +0

    私が知る限り。 –

    関連する問題