2 votes

Comment rediriger vers la connexion sans ajouter de route vers l'enregistrement de l'historique dans Vue ?

Je suis sur la page : /foo et cliquer sur le bouton pour me rediriger vers /bar . Mais j'ai l'événement beforeEach route qui me redirige vers /login . après avoir ouvert une session, je suis redirigé vers /bar .

Quand je suis sur /bar Je clique sur le bouton retour et j'arrive à la page de connexion. En revanche, je veux arriver à la dernière page qui est /foo .

Comment puis-je le faire ? Y a-t-il un moyen de rediriger vers la connexion sans ajouter de route à l'enregistrement de l'historique ?

  router.beforeEach((to, from, next) => {
    if (!to.matched.some((record) => record.meta.auth)) { return next(); }

    return next({
      path: '/login',
    });
  });

4voto

Shlomi Levi Points 702

Utilisez replace au lieu de push lorsque vous redirigez vers la page après la connexion (dans le composant de connexion).

loginSuccessed() {
 this.$router.replace(redirect);
}

0voto

Qonvex620 Points 3404

Utilisez route.replace à la place de router.push. Il agit comme router.push, la seule différence est qu'il navigue sans pousser une nouvelle entrée d'historique, comme son nom le suggère - il remplace l'entrée actuelle.

succesffulyLoggedin() {
     this.$router.replace({ name: 'dashboard' });
}

lire les documents ici remplacement du routeur

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X