vue中的beforeEach死循环如何解决
发表于:2024-10-25 作者:千家信息网编辑
千家信息网最后更新 2024年10月25日,这篇文章主要介绍"vue中的beforeEach死循环如何解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"vue中的beforeEach死循环如何解决"文章
千家信息网最后更新 2024年10月25日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安全错误
数据库的锁怎样保障安全
软件开发过程图解
云服务器为什么更安全
打印共享服务器下载
代理服务器选项怎么关
湖南服务器机柜供应商
ai网络安全解决办法
公大网络安全与执法专业研究生
深汕合作区招聘软件开发
oracle数据库分发
从事建筑软件开发工作
梁溪区重型软件开发市场价格
无线网关软件开发
黑色沙漠燃烧的服务器
阿里云搭建菲律宾代理ip服务器
fhadmin数据库管理
jsp定时查询数据库
网络安全考核评估制度
世界云服务器排名
服务器管理工具教程
广州erp软件开发价格
电源软件开发用什么语言
常见数据库错误的是
数据库在线分析工具
网络安全网课心得体会
魔兽怀旧服多少级能做服务器
数据库简述角色及其分类
2021网络安全宣传周幼儿
服务器设置共享盘
南城点餐系统软件开发
数据库中连接与符号