Angularの大ファン、私はルーティング(https://angular.io/docs/ts/latest/guide/router.html)に関するAngular2の公式ドキュメントを読んで最初のテストアプリを構築し、理解できない動作に陥った。Angular2でrouterLinkを必須とするのはなぜですか?
template: `
<h1>Component Router</h1>
<nav>
<a [routerLink]="['/crisis-center']">Crisis Center</a>
<a [routerLink]="['/heroes']">Heroes</a>
</nav>
<router-outlet></router-outlet>
`,
それは動作します:AppComponentで
マイテンプレート部分は次のようになります。ブラウザにURLを直接入力するか、routerLinkディレクティブによって生成された定義済みリンクをクリックして、危機管理センターまたは危機管理センターにアクセスできます。
ナビゲーションメニューはもう表示したくありませんが、ブラウザーバーにurlを直接入力することでアプリケーションを/危機の中心や/英雄に移動したいので、navブロックとmyテンプレートは次のようになります。
template: `
<h1>Component Router</h1>
<router-outlet></router-outlet>
`,
ただし、この新しいバージョンではコンポーネント固有のコンテンツは表示されず、親テンプレート部分のみが表示されます。
注:routerLinkディレクティブを1つだけ保持すると、コンポーネントヒーローと危機管理センターの両方にナビゲートできます。
私が見つけた唯一の回避策は、ディスプレイ:noneをナビゲーションタグに適用することでした。
なぜディレクティブrouterLinkはルーティングを動作させる必要がありますか?私にとっては、それはURLを生成し、ルーティングプロセスに影響を与えない単なる指令でした...
これを逃した。どうもありがとう! – krakax