如何在vue-router上回退/回退?

JavaScript

GilDavaid米亚

2020-03-11

好的,简单解释一下:

我有3页。

  • 第1页(首页)
  • 第2页(菜单)
  • 第3页(关于)

第1页有-

<router-link  to="/menu">

单击该按钮将转到“ /菜单”。

目前,第2页(菜单)有一个

<router-link  to="/">

按钮,然后单击此按钮,它将返回到先前的位置“ /”第1页(主页)。

但是我不想为路由器的每个页面创建一个组件以“返回”上一页(好像我有100个页面,这可能会路由很多工作)。有没有办法用vue-router做到这一点?类似于window.history.back()

好奇是否有办法做到这一点,因为我在文档中找不到它。

提前致谢!约翰

第626篇《如何在vue-router上回退/回退?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

2个回答
Sam梅小胖 2020.03.11

另一种解决方案是使用vue-router-back-mixin

import BackMixin from `vue-router-back-mixin`

export default {
  ...
  mixins: [BackMixin],
  methods() {
    goBack() {
      this.backMixin_handleBack()
    }
  }
  ...
}
JinJin西门神乐 2020.03.11

您可以使用程序化导航。要返回,请使用以下命令:

router.go(n) 

其中n可以是正数或负数(返回)。这与history.back()相同,因此您可以使用以下元素:

<a @click="$router.go(-1)">back</a>

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android