vue.js - vue-router - 如何获取上一页 url?

标签 vue.js vue-router

我想在 vue-router 中获取上一页链接或 url。像这样。怎么做?

const link = this.$router.getPrevLink(); // function is not exist?
this.$router.push(link);

接近的概念是 this.$router.go(-1)

this.$router.go(-1);

最佳答案

vue-router 的所有 navigation guardsfrom 参数的形式接收之前的路由 ..

Every guard function receives three arguments:

  • to: Route: the target Route Object being navigated to.

  • from: Route: the current route being navigated away from.

  • next: Function: this function must be called to resolve the hook. The action depends on the arguments provided to next

例如,您可以使用组件内导航守卫 beforeRouteEnter 来获取之前的路线并将其存储在您的数据中..

...
data() {
 return {
   ...
   prevRoute: null
 }
},
beforeRouteEnter(to, from, next) {
  next(vm => {
    vm.prevRoute = from
  })
},
...

然后你可以使用this.prevRoute.path来获取之前的URL。

关于vue.js - vue-router - 如何获取上一页 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53788975/

相关文章:

vue.js - 为什么在 Vue 中的 require() 方法之后需要默认值?

Laravel 5.6 - 使用 laravel-mix 和 webpack 异步/延迟加载 vue 组件

vue.js - 另一个router-view的组件调用方法/Vue.js

vue.js - 如何使用vue router做阶梯式导航?

javascript - 如何使我的网格项目彼此相邻?

unit-testing - 使用 Jest 在 Nuxt 中测试组件时如何添加/模拟 Nuxt Auth 库

javascript - Vue.js 插槽 - 如何检索计算属性中的插槽内容

javascript - 如何在分割的 (vuex) getters.js 文件中访问 $route?

vuejs2 - 如何在 VueJs 中创建可重用的组件?

navigation - Vue Router 多个独立的router-view导航