2

我建vuejs單頁的應用程序清爽頁面和我有未來的情況:我有vuejs單頁的應用程序

我使用VUE路由器和VUE資源。導航菜單正常工作。當我點擊菜單中的鏈接時,部分頁面更改而不刷新頁面。 但是,當我試圖使用重定向另一頁上...

this.$router.go('/about'); 

...整個應用程序清爽。

如何在沒有頁面刷新的情況下進行網址更改?

P.S.此外,我試圖使用:

window.location.href = "/about"; 

但它有同樣的結果。

謝謝!

回答

3

嘗試使用

this.$router.push('/about'); 

$router.go(n)取整數通過多少步,指示向前走,或在歷史堆棧倒退,類似於window.history.go(n)

這就是你的網頁獲得refeshed

的原因

您可以看到更多關於程序導航的信息here

3

大多數情況下,您將在單頁應用程序的導航菜單中使用<router-link :to="/about">。 Vue API中的類似方法是router.push('/ about')。當您點擊導航按鈕時,這是內部調用的方法。

模板

<button @click="goToAbout()">About</button> 

腳本

methods: { 
      goToAbout: function() { 
      this.$router.push('/about') 
      }, 
} 

中,它是用來在瀏覽器的歷史堆棧向後導航您使用的是this.$router.go('/about');錯在這裏。此API只需要一個整數即步驟數。

如果您使用`window.location.href =「/ about」,它的純粹的高級瀏覽器功能和超越VUE Spa。