vue中的beforeEach死循环如何解决
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章主要介绍"vue中的beforeEach死循环如何解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"vue中的beforeEach死循环如何解决"文章
千家信息网最后更新 2025年01月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安全错误
数据库的锁怎样保障安全
宝塔服务器里数据库打不开
在杭州做软件开发
惠易行互联网科技有限公司电话
软件开发有限公司什么税率
奉新县公安局网络安全大队
网络安全管理证书含金量
游戏服务器aoi
dnf服务器紫色柱子
互联网科技车险代理
江西新一代软件开发服务有哪些
游戏软件开发的市场
今日头条 张斌 数据库
计算机学哪个专业好软件开发
微信免费查大数据库
财务软件开发报价单模板
网络安全用什么电脑留学
校内代理服务器
同时搜索多个数据库
网贷叫你交服务器安全吗
《数据库基础与应用》离线
南昌泰豪软件园软件开发
2017网络安全标语
四川网络安全招聘
网络安全法解读完整版
asp 服务器错误
17个数据库技术
mysql建立数据库代码
宁波其它区有实力软件开发
无线传感网络技术高职教材
软件开发 企业内训