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。