web-dev-qa-db-fra.com

vue-router - Comment obtenir l'URL de la page précédente?

Je veux obtenir le lien de la page précédente ou l'URL dans vue-router. Comme un. Comment faire?

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

Le concept proche est this.$router.go(-1).

this.$router.go(-1);
10
narupo

Tous les gardes de la navigation de vue-router reçoivent la route précédente sous la forme d'un argument from.

Chaque fonction de garde reçoit trois arguments:

  • to: Route: l'objet Route en cours de destination.

  • from: Route: la route en cours d’éloignement.

  • next: Function: cette fonction doit être appelée pour résoudre le hook. L'action dépend des arguments fournis à la prochaine

A titre d'exemple, vous pouvez utiliser beforeRouteEnter, une protection de navigation intégrée à un composant, pour obtenir l'itinéraire précédent et le stocker dans vos données.

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

Ensuite, vous pouvez utiliser this.prevRoute.path pour obtenir l'URL précédente.

28
Husam Ibrahim