私はバックエンドアプリケーションで共通の問題に直面しています。Angular2ネストされた同じルートのモジュールルーティング
- レポート/ビュー/:ID
- campains /ビュー/:ID
- SUTS /ビュー/:ID
- 認定 は私がルートのこの種を調べることによって見ることができるいくつかのressourcesを得ました/ view /:id
ルートは/ view /:idと同じ部分で終了することに注意してください。
マイアプリモジュールは以下のとおりです。
App.module
| -MainLayoutModule
| - ReportModule
| - CampaignModule
| - SutModule
| - ...(mainlayoutModule除く)
各モジュールは、それ自身のルーティングを定義します。
App.routing
{
path:'certification',
loadChildren: './+certification/certification.module#CertificationModule',
canActivate:[AuthGuard]
},
{
path:'reports',
loadChildren: './+report/report.module#ReportModule'
canActivate:[AuthGuard],
},
{
path:'suts',
loadChildren: './+sut/sut.module#SutModule',
canActivate:[AuthGuard]
},
{
path:'campaigns',
loadChildren: './+campaign/campaign.module#CampaignModule',
canActivate:[AuthGuard]
},...
Report.routing
import { Routes, RouterModule } from '@angular/router';
import { ReportDetailsComponent } from "./ReportDetails/report-details.component";
import { ReportDetailsResolver } from "./ReportDetails/report-details.resolver";
import { ReportListComponent } from "./ReportsList/report-list.component";
export const reportRoutes: Routes = [
{
path: '',
pathMatch: 'full',
redirectTo: 'list'
},
{
path: 'view/:id',
component: ReportDetailsComponent,
data: {
pageTitle: 'Report detail'
},
resolve: {
report: ReportDetailsResolver
},
pathMatch: 'full'
},
{
path: 'list',
component: ReportListComponent,
data: {
pageTitle: 'Reports Lists'
},
pathMatch: 'full'
}
];
export const reportRouting = RouterModule.forChild(reportRoutes);
Campaign.routing
import { Routes, RouterModule } from '@angular/router';
import { CampaignDetailsComponent } from './campaignDetails/campaign-details.component'
import { CampaignDetailsResolver } from './campaignDetails/campaign-details.resolver'
import { CampaignListsComponent } from './campaignList/campaign-list.component'
export const campaignRoutes: Routes = [
{
path: 'view/:id',
component: CampaignDetailsComponent,
data: {
pageTitle: 'Campaign detail'
},
resolve: {
campaign: CampaignDetailsResolver
},
pathMatch: 'full'
},
{
path: 'lists',
component: CampaignListsComponent,
pathMatch: 'full'
}
];
export const campaignRouting = RouterModule.forChild(campaignRoutes);
は、キャンペーンモジュールは、レポートコンポーネントからのディレクティブを使用する必要があり、ここではコードですさ:
ここでは問題です:私はルートに行くと、「/キャンペーン/ビュー/:ID」レポート・コンポーネント・モジュールからではなく、キャンペーンコンポーネントからルータのコンセント負荷の内容...
愚かなソリューション/ view ID:/ viewCampaign /:id ...)のような各モジュールで独自のルートを持つことになりますが、私は私のアプリのルーティング設定で何かが欠けていると思います....
この種の問題を解決する方法について? ありがとう、 Olivier
これはそれ!ありがとう!ちょうど子供のルートを使用!そしてそれは働いた – OlivierTo
ようこそ。 – noelmace
私はモジュールをルートコンポーネントとRoutingModuleでリファクタリングする必要がありました。 – OlivierTo