と部分ルートは私のアプリでは、いくつかのURLは、私はその従業員の連絡先にリンク[routerLink]
をそれぞれ有する、すべての従業員のリストを表示私のサイドバーで、フォーム相対リンク/ routerLink
/department/:dep/employee/:emp/contacts
を取る
<ul>
<li>
<a [routerLink]="['/department', 1, 'employee', 1, 'contacts']"></a>
<li>
<li>
<a [routerLink]="['/department', 1, 'employee', 2, 'contacts']"></a>
<li>
...
</ul>
しかし、このアプローチでは、すべてのパラメータ(上記の例ではdep
など)を含む完全なパスを提供する必要がありますが、これはかなり面倒です。私は本当にについて、そのビューでdepartment
を気にしないので、ルートの一部だけを提供する方法は、そのよう
<a [routerLink]="['employee', 2, 'contacts']"></a>
として(department
一部せずに、そこにあると私の気持ちは、これは懸念の分離に反するということですとにかく)?
'。/'でも相対ルーターリンクでも動作しません。ページロード後に一度動作しますが、親コンポーネントがURLの一部を変更した場合、相対的な 'routerLink'を持つコンポーネントに対して生成された 'href'は更新されず、前のルートにとどまります。 https://github.com/erasethis/angular2-routingのレポを参照してください。 –
Plunkerが再現して調査する必要があると思います。https://angular.io/resources/live-examples/quickstart/ts/plnkr.html ''の最初の要素は ''ですか? –
「routerLink」が定義されているコンポーネントのルートに相対的だと思います。 '/ parent/child/grandchild1'ルートを起動し、'/parent'コンポーネント(OP用のサイドバーを含む)に 'routerLink'が定義されている場合、' grandchild2'へのリンクは 'routerLink' 「子」を含める、例えば。 '[routerLink] =" [child、grandchild2] "'です。 – adamdport