Angular的粉絲,我遵循Angular2關於路由的官方文檔(https://angular.io/docs/ts/latest/guide/router.html)來構建我的第一個測試應用程序,並陷入以下難以理解的行爲。在AppComponent爲什麼在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>
`,
它的工作原理。我可以通過直接在我的瀏覽器中輸入網址或點擊由routerLink指令生成的定義鏈接來訪問/危機中心或/英雄。
現在,我不想再顯示導航菜單,但我希望我的應用程序直接在瀏覽器欄中輸入網址來導航到/危機中心或/英雄,所以我刪除了導航塊,我的模板現在看起來像:
template: `
<h1>Component Router</h1>
<router-outlet></router-outlet>
`,
但是,這個新版本不顯示組件特定的內容,只顯示父模板部分。
注意:只保留一個routerLink指令時,組件英雄和危機中心都可以導航到。
我發現的唯一解決方法是將display:none應用於我的導航標記。
爲什麼指令routerLink必須具有路由工作?對我來說,這只是一個生成url的指令,不會影響路由過程...
錯過了這一個。非常感謝! – krakax