同じテンプレートに複数のルーター アウトレットを含めることはできますか?
はいの場合、ルートを構成する方法は?
angular2 ベータ版を使用しています。
同じテンプレートに複数のルーター アウトレットを含めることはできますか?
はいの場合、ルートを構成する方法は?
angular2 ベータ版を使用しています。
はい、できますが、AUX ルーティングを使用する必要があります。ルーターアウトレットに名前を付ける必要があります。
<router-outlet name="auxPathName"></router-outlet>
ルート構成をセットアップします。
@RouteConfig([
{path:'/', name: 'RetularPath', component: OneComponent, useAsDefault: true},
{aux:'/auxRoute', name: 'AuxPath', component: SecondComponent}
])
RC.5 Aux ルートの更新が少し変更されました: ルーター アウトレットで次の名前を使用します。
<router-outlet name="aux">
ルーター構成で:
{path: '/auxRouter', component: secondComponentComponent, outlet: 'aux'}
Aux ルートの構文は、新しい RC.3 ルーターで変更されました。
aux ルートには既知の問題がいくつかありますが、基本的なサポートは利用できます。
名前付きでコンポーネントを表示するルートを定義できます<router-outlet>
ルート構成
{path: 'chat', component: ChatCmp, outlet: 'aux'}
名前付きルーターアウトレット
<router-outlet name="aux">
補助ルートをナビゲートする
this._router.navigateByUrl("/crisis-center(aux:chat;open=true)");
routerLink からの aux ルートのナビゲートはまだサポートされていないようです
<a [routerLink]="'/team/3(aux:/chat;open=true)'">Test</a>
<a [routerLink]="['/team/3', {outlets: {aux: 'chat'}}]">c</a>
まだ自分で試していません
1 つのコンポーネント内の Angular2 ルーターも参照してください。
RC.5 routerLink DSL (パラメーターと同じcreateUrlTree
) https://angular.io/docs/ts/latest/api/router/index/Router-class.html#!#createUrlTree-anchor
<a [routerLink]="[{ outlets: { list:['streams'], details:['parties'] } }]">Link</a>
<div id="list">
<router-outlet name="list"></router-outlet>
</div>
<div id="details">
<router-outlet name="details"></router-outlet>
</div>
`
{
path: 'admin',
component: AdminLayoutComponent,
children:[
{
path: '',
component: AdminStreamsComponent,
outlet:'list'
},
{
path: 'stream/:id',
component: AdminStreamComponent,
outlet:'details'
}
]
}
これは私にとってはうまくいき、かなり簡単でシンプルです。
<div *ngIf="authenticated">
<ng-container *ngTemplateOutlet="template"></ng-container>
</div>
<div *ngIf="!authenticated">
<ng-container *ngTemplateOutlet="template"></ng-container>
</div>
<ng-template #template>
<router-outlet></router-outlet>
</ng-template>