當我在我的@Component
的template
屬性中使用routerLink
指令時,它可以工作。routerLink在Angular 2中的組件模板之外,基於html
但我們正在談論我的整個網站的頂部菜單欄。但是,當我將它分離出來到我的主要模板文件(layout.html)中時,它不再起作用。
呀我是一個巨大的小白到NG2,無可否認,但我想我的菜單中留出一個JavaScript文件和主要佈局HTML中。怎麼能做到這一點?
<body>
<base href="/" />
<div class="row menu">
<div class="container">
<ul class="u-pull-left">
<li><a [routerLink]="['/']" routerLinkActive="active">Home</a></li>
<li>Notifications</li>
<li>My Hisses</li>
</ul>
<ul class="u-pull-right">
<li><a [routerLink]="['/register']" routerLinkActive="">Register</a></li>
<li><a [routerLink]="['/login']" routerLinkActive="active">Login</a></li>
</ul>
</div>
</div>
<root></root>
<!-- End Document
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
</body>
我錯過了哪一個關鍵步驟?它甚至有可能嗎?
謝謝!
嗨,感謝您的回覆。所以如果我對把我的整個頂級菜單作爲另一個ng2組件的一部分不感興趣,我應該讓它成爲靜態的,並讓它刷新頁面?我只是想在這裏想辦法與 – RedactedProfile
一起前進,我認爲這是不值得的麻煩。如果我需要這樣的設置,我會重新考慮使用Angular2。在我看來,刷新頁面也是一個相當糟糕的選擇。如果使用JS的[歷史API](https://developer.mozilla.org/en-US/docs/Web/API/History_API)讓Angular2應用程序中的路由器更新視圖,您可以嘗試。也許像http://stackoverflow.com/questions/39686305/changing-shared-data-between-root-modules(或http://stackoverflow.com/questions/36566698/cant-initialize-dynamically-appended-html- component-in-angular-2 - 不是最新的)可能適合你。 –
所以你在這裏告訴我的是,如果我想要使用ng2,我必須將我的整個頁面結構放到一個巨大的海量組件的模板字段中,並且通過router-outlet可以吐出子組件,否則沒有意義使用它?我從來沒有在我的生活中看到頂級菜單欄「加載」其餘的JS:p我只想在菜單欄下方和頁腳上方顯示動態內容。看起來像是一個非常奇怪的限制考慮ng1讓你切換ngRouter頁面使用指令,任何你想要他們。 – RedactedProfile