Question: I want to get previous page link or url in `vue-router`. Like a this. How to do it?

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

```

Near concept is `this.$router.go(-1)`.

```
this.$router.go(-1);

```

Answer: 
All of vue-router's [navigation guards](https://router.vuejs.org/guide/advanced/navigation-guards.html) receive the previous route as a `from` argument ..

> 
> 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
> 
> 
> 

As an example you could use `beforeRouteEnter`, an in-component navigation guard, to get the previous route and store it in your data ..

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

```

Then you can use `this.prevRoute.path` to get the previous URL.
For Vue 3 with Vue Router 4, my solution was:

```
this.$router.options.history.state.back

```

The final code:

```
export default defineComponent({
  name: 'Error404',
  data () {
    return {
      lastPath: null
    }
  },
  created () {
    this.lastPath = this.$router.options.history.state.back
  },
  computed: {
    prevRoutePatch () {
      return this.lastPath ? this.lastPath : '/dashboard'
    }
  }
})

```

Regards.