vue-router beforeEach钩子

vue-router beforeEach钩子在使用vue-routerbeforeEach钩子时,你也许会遇到如下问题:源码:router.beforeEach((to,from,next)=>{//判断登录状态简单实例varuserInfo=window.localStorage.getItem(‘token’);if(userInfo){next();…

大家好,又见面了,我是你们的朋友全栈君。

在使用vue-router beforeEach钩子时,你也许会遇到如下问题:
源码:

router.beforeEach((to, from, next) => {
    //判断登录状态简单实例
    var userInfo = window.localStorage.getItem('token');
    if (userInfo) {
        next();
    } else {
        next('/login');
    }
})

然后你会发现出现如下错误:出现dead loop错误
这里写图片描述

解决方案:

router.beforeEach((to, from, next) => {
    var userInfo = window.localStorage.getItem('token');//获取浏览器缓存的用户信息
    if(userInfo){ //如果有就直接到首页咯
        next();
    } else {
        if(to.path=='/login'){ //如果是登录页面路径,就直接next()
            next();
        } else { //不然就跳转到登录;
            next('/login');
        }

    }
})

解决思路:
排除此时地址 = 转向的地址 的情况,避免dead loop, 问题很简单,但一不小心就入坑了

本文https://blog.csdn.net/qq_38334525/article/details/80682351?utm_source=copy

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151671.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号