关于vue-router的beforeEach无限循环的问题解决


Posted in Javascript onSeptember 09, 2017

最近在使用vue-router的beforeEach钩子时候遇到了一个问题,就是在beforeEach()中设置好判断条件后出现了无限循环的问题
代码如下:

router.beforeEach((to, from, next) => {
 if(isLogin){
  next()
 }else{
  console.log('测试')
  next('login')
 }
})

结果chrome的debug中看到:

关于vue-router的beforeEach无限循环的问题解决

这个问题我是这样理解的:

router.beforeEach((to, from, next) => {
  if(true){
    next()
  }else{
    next('login')
  }
})
  • next() 表示路由成功,直接进入to路由,不会再次调用router.beforeEach()
  • next('login') 表示路由拦截成功,重定向至login,会再次调用router.beforeEach()

也就是说beforeEach()必须调用next(),否则就会出现无限循环,next() 和 next('xxx') 是不一样的,区别就是前者不会再次调用router.beforeEach(),后者会!!!

官网这样写的(主要是红线标记的那句!):

关于vue-router的beforeEach无限循环的问题解决

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery选择器的工作原理和优化分析
Jul 25 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
Sep 01 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
Jan 18 Javascript
JavaScript  event对象整理及详细介绍
Oct 10 Javascript
RequireJS简易绘图程序开发
Oct 28 Javascript
值得学习的bootstrap fileinput文件上传工具
Nov 08 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
Dec 08 Javascript
jquery PrintArea 实现票据的套打功能(代码)
Mar 17 Javascript
JavaScript模拟实现封装的三种方式及写法区别
Oct 27 Javascript
vue组件父子间通信之综合练习(聊天室)
Nov 07 Javascript
使用watch监听路由变化和watch监听对象的实例
Feb 24 Javascript
ant design charts 获取后端接口数据展示
May 25 Javascript
浅谈Express异步进化史
Sep 09 #Javascript
vue组件学习教程
Sep 09 #Javascript
weex里Vuex state使用storage持久化详解
Sep 09 #Javascript
Vue2几种常见开局方式详解
Sep 09 #Javascript
使用JS动态显示文本
Sep 09 #Javascript
深入理解ES7的async/await的用法
Sep 09 #Javascript
jQuery事件对象的属性和方法详解
Sep 09 #jQuery
You might like
收集的PHP中与数组相关的函数
2007/03/22 PHP
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
php入门学习知识点三 PHP上传
2011/07/14 PHP
php+mysqli实现将数据库中一张表信息打印到表格里的方法
2015/01/28 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
ImageZoom 图片放大镜效果(多功能扩展篇)
2010/04/14 Javascript
表单提交前触发函数返回true表单才会提交
2014/03/11 Javascript
告诉你什么是javascript的回调函数
2014/09/04 Javascript
jQuery对象的length属性用法实例
2014/12/27 Javascript
JSON+Jquery省市区三级联动
2016/01/13 Javascript
AngularJS Phonecat实例讲解
2016/11/21 Javascript
javascript 组合按键事件监听实现代码
2017/02/21 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
Angular6 Filter实现页面搜索的示例代码
2018/12/02 Javascript
使用Python解析JSON数据的基本方法
2015/10/15 Python
Python循环语句中else的用法总结
2016/09/11 Python
Python生成器generator用法示例
2018/08/10 Python
pycharm执行python时,填写参数的方法
2018/10/29 Python
python mac下安装虚拟环境的图文教程
2019/04/12 Python
python pandas生成时间列表
2019/06/29 Python
Python Django实现layui风格+django分页功能的例子
2019/08/29 Python
pytorch制作自己的LMDB数据操作示例
2019/12/18 Python
快速了解Python开发环境Spyder
2020/06/29 Python
python PIL模块的基本使用
2020/09/29 Python
Python通过Schema实现数据验证方式
2020/11/12 Python
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
上海天奕面试题笔试题
2015/04/19 面试题
高中毕业生自我鉴定范文
2013/09/26 职场文书
大学生个人推荐信范文
2013/11/25 职场文书
大学生自我鉴定评语
2014/01/27 职场文书
校长竞聘演讲稿
2014/05/16 职场文书
关于环保的活动方案
2014/08/25 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
2015年圣诞节活动总结
2015/03/24 职场文书