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.
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") }
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'); } }
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)});
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!