vue中的beforeEach死循环如何解决
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章主要介绍"vue中的beforeEach死循环如何解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"vue中的beforeEach死循环如何解决"文章
千家信息网最后更新 2024年11月23日vue中的beforeEach死循环如何解决
这篇文章主要介绍"vue中的beforeEach死循环如何解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"vue中的beforeEach死循环如何解决"文章能帮助大家解决问题。
什么是beforeEach?
beforeEach 是一个vue-router的路由导航钩子,一般我用它做路由守卫。
什么是路由守卫?
路由跳转前做一些验证,比如登录验证,是网站中的普遍需求。对此,vue-route 提供的beforeRouteUpdate可以方便地实现导航守卫(navigation-guards)。导航守卫(navigation-guards)这个名字,听起来怪怪的,但既然官方文档是这样翻译的,就姑且这么叫吧。
举个例子,当我们没有登录的时候,跳转到登录页面。如果登录了,则正常跳转。
下面我们来看下死循环代码。
export const router = new Router(RouterConfig);router.beforeEach((to, from, next) => { let token = sessionStorage.getItem('token'); if (token) { next(); } else { next({path: '/p404'}) }});
当 token 不存在于 session 中,跳转到 /p404,此时路由改变,再次进行判断,则又跳转到 /404,由此造成了死循环。在代码中进行一次判断,如果跳到 p404了,就让它安心的进路由吧。修改后代码如下。
export const router = new Router(RouterConfig);router.beforeEach((to, from, next) => { let token = sessionStorage.getItem('token'); if (token) { next(); } else { if (to.path == '/p404') { next(); } else { next({path: '/p404'}) } }});
关于"vue中的beforeEach死循环如何解决"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
路由
循环
登录
知识
导航
代码
行业
验证
不同
实用
例子
内容
再次
名字
后代
官方
实用性
实际
对此
文档
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全审查利好上市公司
服务器主板ipmi
白云网络安全服务有哪些
诛仙2开哪个服务器好
rlcarft服务器有插件
ucloud云服务器如何使用
农行软件开发中心怎么样
内网共享服务器
基于构件的软件开发的优缺点
mc多人游戏服务器刷新不出来
nzcms数据库配置文件
免费的公共数据库有哪些
华为手机云服务器下载教程
北京市软件开发
如何选择眼镜行业软件开发
盛大热血传奇所有服务器 北京
网络技术基础历史
混合现实全息软件开发
众恒全华网络技术有限公司
ipv6 服务器前缀分配
手机怎么连接到海外服务器
北京哪里学软件开发好
基于构件的软件开发的优缺点
ip网络技术vlan
软件开发可能遇到的问题测试方法
sql如何重命名数据库
计算机网络技术现在怎么样
雪豹下载软件开发
一对多 数据库设计
关于网络安全法错误的是什么