2017-02-17 130 views
0

我做了這個哈克關於頁面打開時單擊和關閉時再次點擊,它只是一個div文本框,顯示在我的主要jumbotron。有沒有辦法強制href =「#id」不刷新頁面,而是跳轉到元素ID?

我有一個關於導航欄,我想跳轉到約div與它,但是當我從單個頁面角2應用程序中的多個頁面按一個href =「#約」時,它不是根路線,儘管保存在點擊導航時彈出的#about div的div可以從任何路徑查看,但是我需要根並重新加載不是我想要的頁面。

有沒有辦法強制頁面不能重新加載,併爲它尋找當前頁面的div ID #about?

+0

請添加您的代碼 –

+2

默認情況下,帶'href =「#about」'的鏈接不應該刷新您的頁面。所以你的代碼中必須有一些東西觸發刷新 –

+0

about div是在我的根路由組件模板上,當我深入到嵌套的路由和模板中並單擊它時,它會重新加載頁面。 – seanEd

回答

1

https://plnkr.co/edit/kLPQ8NXvSSEwLWU5r0nS?p=preview

這。這相對簡單。只要有希望跳轉的元素的href和id就可以匹配。

<a href="#gohere">Jump</a> 

<div style="height: 2000px; width: 100%; background-color:grey"></div> 

<div id="gohere">You're here!</div> 

<div style="height: 2000px; width: 100%; background-color:grey"></div> 
+0

雅我正是這樣做,但因爲我的#about div在我的家庭/根組件,當我在子路線,我點擊導航欄它重新加載我的整個頁面,並帶我回到根路線。我需要一些處理這種具體情況的東西。雖然 – seanEd

+0

感謝您的DOM仍在你的DOM? –

+0

加載到* ngIf =「clicked」的div是可見的,並加載到與我的子路由相同的頁面上,如果這就是你的意思,儘管只有我的['']根路由將它加載到那裏。 – seanEd

相關問題