Maison > interface Web > js tutoriel > Comment passer à la page précédente dans vue

Comment passer à la page précédente dans vue

亚连
Libérer: 2018-06-13 14:02:08
original
2323 Les gens l'ont consulté

Cet article partage avec vous une fonction que Vue implémente pour accéder à la page précédente après s'être connecté. Les amis qui ont besoin de cette commodité peuvent en tirer des leçons.

En développement, nous rencontrons souvent une telle demande. L'utilisateur doit cliquer directement sur un lien pour accéder à une page. Après avoir cliqué sur le lien, une interception 401 sera déclenchée et renvoyée à l'interface de connexion. en se connectant, il accédera à la page liée au lieu de la page d'accueil, comment devrions-nous résoudre ce problème ?

Parlons d'abord de quelques API que nous devons utiliser :

1.router.currentRoute : l'objet d'informations de routage actuel, nous pouvons obtenir l'URL analysée via router.currentRoute.fullPath, contient le chemin complet des paramètres de requête et du hachage. Si la route de la page à laquelle accéder a un nom, vous pouvez obtenir le nom de la route actuelle via router.currentRoute.name.

2.router.replace : La fonction est la même que router.push, mais elle n'ajoute pas de nouveaux enregistrements à l'historique, mais remplace l'enregistrement actuel de l'historique.

Étant donné que le code de chacun est écrit différemment, je n'inclurai pas mon code d'implémentation spécifique, mais présenterai brièvement l'idée :

1 Une fois que l'utilisateur a cliqué sur le lien, la cible passe au routage. page, puis déclencher l'intercepteur 401 pour revenir à la page de connexion :

//401拦截
if(status == "401"){
  router.push("/login")   
}
Copier après la connexion

2 Nous pouvons enregistrer le lien cible dans l'url lors de l'interception 401 :

if (status == 401) {
   //判断当前的路由是否是目标路由
   if(router.currentRoute.name == "target"){
    //跳转回login路由,并把目标路由的url路径保存在login的query中
    router.replace({
     name:"login",
     query: {redirect: router.currentRoute.fullPath}
    })
   }else{
    /* 普通401拦截直接返回到登录页面 */
    router.push('/login');
   }
  }
Copier après la connexion

3 . Cliquez pour vous connecter et utilisez la requête enregistrée sur l'URL pour revenir directement à la page cible

router.push({path:decodeURIComponent(url)});
Copier après la connexion

Ce qui précède est ce que j'ai compilé pour tout le monde. J'espère que cela sera utile à tout le monde à l'avenir.

Articles associés :

Introduction détaillée au document chinois vuex

Comment générer une liste déroulante avec du js pur

À propos de l'utilisation des fichiers dans vue

Comment introduire jquery dans le webpack vue-cli (tutoriel détaillé)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
vue
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal