Vue路由器上一页,无需重新加载

时间:2019-02-16 00:01:44

标签: javascript vue.js

我正在尝试使用vuejs中的vue-router创建后退按钮以转到上一页,该按钮的工作方式与浏览器的后退按钮完全相同。问题是,当我使用路由器的历史记录模式时,我会这样做

this.$router.go(-1);

它实际上刷新页面,这很烦人,而浏览器的“后退”按钮却没有。如果删除历史记录模式,则它会按预期工作,就像浏览器的“后退”按钮一样。但是,在这种情况下,我需要处理URL中的丑陋标签。另外,由于我只需要在几个页面上使用此按钮,因此我也可以使用“保留历史记录”模式,但不必使后退按钮实际转到上一页,而是可以切换一些值来更改显示的动态组件,但是实际不更改当前页面。但是,如果这样做,浏览器的“后退”按钮将无法再正常工作,因为它显然无法切换状态。

有什么方法可以使按钮的功能与浏览器的后退按钮完全相同?像这样,创建一个后退按钮,该按钮不会刷新页面,URL中没有井号标记,并且仍然可以与浏览器的后退按钮一起使用吗?

编辑: 因为我意识到这不是代码问题,而是测试问题,所以将要删除,但是为了对某人有用,我将其保留在此处。当我使用后退按钮转到路线时,没有按钮可以转到该路线,因此我需要直接将其输入URL。但是,这有效地擦除了所有存储的状态,因此我的后退按钮无法正常工作。如果我从另一个页面导航到该页面,那么我的后退按钮将按预期工作。

2 个答案:

答案 0 :(得分:0)

您可以使用window.history.back()直接模拟点击浏览器的后退按钮。

答案 1 :(得分:0)

那样尝试

this.$router.back()

相关问题