2017-09-11 7 views
0

これは私を狂ってしまいます。私の顧客モジュールで角度ルータは常に同じモジュールにリダイレクトします

routes: Routes = [ 
    { path: '', redirectTo: '/customers', pathMatch: 'full' }, 
    { path: 'customers', loadChildren: './components/customer#CustomerModule' }, 
    { path: 'promotions', loadChildren: './components/promotion#PromotionModule'} 
]; 

私が定義されている論文の路線:

routes: Routes = [ 
    { 
     path: '', component: CustomerComponent, children: [ 
      { path: '', component: CustomerSearchComponent }, 
      { path: ':id', component: CustomerDetailComponent } 
    ]} 
]; 

そして、私のプロモーションモジュールで:私が持っている

routes: Routes = [ 
    { path: '', component: PromotionComponent }, 
    { path: 'new', component: PromotionNewComponent } 
]; 

私は3つの簡単な私のアプリモジュール内のルートを持っています私のAppComponentとCustomerComponentに<router-outlet></router-outlet>があります。 私はルート/プロモーションに行くとき、私はまだCustomerModuleにリダイレクトされている - > CustomerComponent - > CustomerSearch

どうしてですか?アプリのコンポーネントは、このようなものです

<ul class="nav navbar-nav"> 
      <li> 
       <a [routerLink]="['./customers']" 
        routerLinkActive="active" [routerLinkActiveOptions]="{exact: true}"> 
        Customers 
       </a> 
      </li> 
      <li> 
       <a [routerLink]="['./promotions']" 
        routerLinkActive="active" [routerLinkActiveOptions]="{exact: true}"> 
        Promotions 
       </a> 
      </li> 
     </ul> 

:ナビゲーションのために 私が含まれているヘッダーコンポーネントを持っている:私は

EDITそれを把握することはできません

<app-header></app-header> 

<main class="container"> 
    <router-outlet></router-outlet> 
</main> 
+0

振興「と」プロモーション/新しい「にルーティングし、プロモーションにパスを変更する」の代わりに」の顧客であることを顧客ルーティングのためのベースパスを変更してみてくださいあなたは 'routerLink'を使っていますか?または '.navigate'?そのコードはどのように見えますか? – DeborahK

+0

@DeborahK私は自分の投稿を編集しました。私はrouterLinkを使用していますが、アドレスバーにURLを入力しても同じです – Peekyou

+0

ルートトレースを有効にして、何が起こっているかについての洞察を提供していますか? – DeborahK

答えて

1

私はあなたを考えますフィーチャモジュールのルーティングでも、完全なルートを指定する必要があります。

何が起こっているのかは、お客様のルーティングに行き、パス「+」を探してCustomerSearchComponentに着陸することです。

あなたはどのようにナビゲートしている?「

+0

それは働いていますが、なぜ私のコードはそうではありません。ドキュメントによると、ルートは合算されています。親コンポーネントに「プロモーション」がある場合は、子コンポーネントでそれを繰り返す必要はありません。 – Peekyou

+0

最初は私も混乱していました。私はルートが、子供の配列を持つAdminルーティングオブジェクトのように互いに入れ子になっている場合にのみ追加すると思います。それは1つのモジュール(すなわちAppModule)と別のモジュール(つまりあなたのPromotionModule)から、 – bgraham

関連する問題