私の主なルーティングは次のようなものです:
export const routes = [
{
path: "",
component: SiteLayoutComponent,
//canActivate: [AuthGuard],
children: [
{ path: "", redirectTo: "/routeA", pathMatch: "full" },
......
......
{
path: 'routeA',
loadChildren: 'app/website/routeA/search/routeA.module#RouteAModule'
}
]
}
];
次に、routeA
モジュールのルーティングは次のようになります。
const routes: Routes = [
{ path: '', component: SearchComponent,
children:[
{ path: '', pathMatch: 'full', redirectTo: 'featured'},
{ path: 'search', component: FilterResultComponent, outlet: 'searchResult' },
{ path: 'search/:listId', component: DetailsComponent, outlet: 'searchResult' },
{ path: ':listType', component: ListComponent, outlet: 'jobList' }
]
}
];
そして私のSearchComponent
テンプレートは次のようなものです:
<search-box></search-box>
<router-outlet name="searchResult"></router-outlet>
<!-- Body Container -->
<div class="container">
<div class="row">
<div class="col-sm-8">
<!-- Job Lists Section -->
<section class="job-list">
<div role="tabpanel" class="custom-tab">
<!-- Nav tabs -->
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" [class.active]="activeTab === 'featured'" routerLinkActive="" [routerLinkActiveOptions]="{exact: true}">
<a [routerLink]="['featured']" aria-controls="featured" role="tab" data-toggle="tab"><i class="material-icons"></i> Featured Jobs</a>
</li>
<li role="presentation" [class.active]="activeTab === 'female-only'">
<a [routerLink]="['female-only']" aria-controls="female" role="tab" data-toggle="tab"><i class="material-icons"></i> Female Only</a>
</li>
<li role="presentation" [class.active]="activeTab === 'expiring-today'">
<a [routerLink]="['expiring-today']" aria-controls="expiring" role="tab" data-toggle="tab"><i class="material-icons"></i> Expiring Today</a>
</li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<router-outlet name="jobList"></router-outlet>
</div>
</div>
</section>
<!-- End Lists Section -->
</div
</div>
私が望むのは、routeA
モジュールをメイン ルーティングのデフォルト ルートとしてロードすることです。routeA
モジュール内の注目のルートは、デフォルト ルートの代わりにルート パラメータとして使用され:listType
、featured
タブがデフォルトで選択されています。しかし、search-box
コンポーネントの検索ボタンをクリックすると、search
ルートにナビゲートしてfilterResultComponent
ロードする必要があり、やりたいことは次のとおりです。1-ルーターアウトレットListComponent
内jobList
のタブの内容を表示し、他のコンポーネントは「searchResult」アウトレット内にある必要があります。 「ListComponent」とタブを非表示にします。ルーターのコンセントでこれを行うにはどうすればよいですか?