Maison > interface Web > js tutoriel > Vue se rend compte que la page passe à la page précédente après la connexion. Exemple de partage.

Vue se rend compte que la page passe à la page précédente après la connexion. Exemple de partage.

小云云
Libérer: 2018-01-09 09:49:13
original
3935 Les gens l'ont consulté

En développement, nous rencontrons souvent une telle demande. L'utilisateur doit cliquer directement sur un lien pour accéder à une page, une interception 401 sera déclenchée et renvoyée à l'interface de connexion. il passera à la page liée au lieu de la page d'accueil, comment résoudre ce genre de problème ? Cet article partage principalement 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. J'espère que cela aide tout le monde.

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éclenchez l'intercepteur 401 et revenez à la page de connexion :


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

2. On peut 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. Après avoir cliqué sur connexion, 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

Recommandations associées :

Comment cliquer sur le texte dans WeChat Xiaocheng pour réaliser la fonction de saut de page

Réponses aux questions sur le HTML Paramètres de passage de saut de page

Problèmes de saut de page HTML et de passage de paramètres

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