に私はこのようにBを参照して、親コンポーネントAと子コンポーネントBを持っている:Angular2:1子から別のリンク、同じレベル
@RouteConfig([
{
path: '/screen-b/...',
name: 'ScreenB',
component: ScreenBComponent
}
])
Bがルータのコンセントを持っており、3
@RouteConfig([
{
path: '/screen-aa',
name: 'ScreenAA',
component: ScreenAAComponent,
useAsDefault: true
},
{
path: '/screen-bb',
name: 'ScreenBB',
component: ScreenBBComponent
},
{
path: '/screen-cc',
name: 'ScreenCC',
component: ScreenCComponent
}
])
成分Bのテンプレート内で、私はこの、サブコンポーネントのAAのようなリンクに入れた場合、BBおよびCCは、Bのルータ口でちょうど罰金を表示:
次のように定義されたサブコンポーネント、<a [routerLink]="['ScreenAA']">Screen AA</a>
<a [routerLink]="['ScreenBB']">Screen BB</a>
<a [routerLink]="['ScreenCC']">Screen CC</a>
しかし、同じリンクをAA、BB、またはCCに入れてリンクすると、何も起こりません(ただし、アドレスバーのURLは変更されます)。私は、AA、BB、CCにはルーターアウトレットがないため、これはAngular2が置いてくれる場所だからだと思います。
階層をルーティングすることは可能ですが、常に低レベルのルータのアウトレットでのみ可能ですが、決して同じレベル以上にはなりません。どのようにこの機能を達成するためには、ほとんどのWebサイトに不可欠ですか?
私が必要とするのは、コンポーネントの内部をクリックして、そのコンポーネントを別のものに置き換えて、低レベルのルータのアウトレットで何かを開くことができないようにすることです。
問題私はコンポーネントを親のルータのアウトレットに横向きにナビゲートしようとしています。 "../"はこの場合は機能しませんが、 "/"を含む完全なパスは同じ効果があります(ナビゲーション変更はなく、アドレスバーのみ)。私はこれが可能ではないとは思わない。それは私の仕様で必要とされ、非常に重要です。 –