关于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 相关文章推荐
摘自百度的图片轮换效果代码
Nov 19 Javascript
解决遍历时Array.indexOf产生的性能问题
Jul 03 Javascript
基于JavaScript自定义构造函数的详解说明
Apr 24 Javascript
详谈javascript中DOM的基本属性
Feb 26 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
Mar 12 Javascript
javascript学习小结之prototype
Dec 03 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
Mar 18 Javascript
js实现简单的碰壁反弹效果
Aug 30 Javascript
jquery实现多次上传同一张图片
Jan 09 Javascript
vue引入ueditor及node后台配置详解
Jan 03 Javascript
Vue 按照创建时间和当前时间显示操作(刚刚,几小时前,几天前)
Sep 10 Javascript
详解微信小程序动画Animation执行过程
Sep 23 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 广告调用类代码(支持Flash调用)
2011/08/11 PHP
提高PHP性能的编码技巧以及性能优化详细解析
2013/08/24 PHP
IIS下PHP的三种配置方式对比
2014/11/20 PHP
ToolTips JQEURY插件之简洁小提示框效果
2011/11/19 Javascript
JavaScript事件代理和委托详解
2016/04/08 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
jQuery实现表格行和列的动态添加与删除方法【测试可用】
2016/08/01 Javascript
js实现的光标位置工具函数示例
2016/10/03 Javascript
JS模拟超市简易收银台小程序代码解析
2017/08/18 Javascript
利用Promise自定义一个GET请求的函数示例代码
2019/03/20 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
可拖拽组件slider.js使用方法详解
2020/12/04 Javascript
[02:42]DOTA2城市挑战赛收官在即 四强之争风起云涌
2018/06/05 DOTA
Python中的默认参数详解
2015/06/24 Python
python实现文本文件合并
2015/12/29 Python
Python 提取dict转换为xml/json/table并输出的实现代码
2016/08/28 Python
分分钟入门python语言
2018/03/20 Python
python实现txt文件格式转换为arff格式
2018/05/31 Python
Python2.7环境Flask框架安装简明教程【已测试】
2018/07/13 Python
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
详解python破解zip文件密码的方法
2020/01/13 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
2020/06/02 Python
Scrapy+Selenium自动获取cookie爬取网易云音乐个人喜爱歌单
2021/02/01 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
2021/02/05 Python
浅谈CSS3中的变形功能-transform功能
2017/12/27 HTML / CSS
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
C#面试题
2016/05/06 面试题
英语故事演讲稿
2014/04/29 职场文书
学校募捐倡议书
2014/05/14 职场文书
培训班通知
2015/04/25 职场文书
2015年行政人事工作总结
2015/05/21 职场文书
导游词之麻姑仙境
2019/11/18 职场文书
总结一下关于在Java8中使用stream流踩过的一些坑
2021/06/24 Java/Android
OpenCV 图像梯度的实现方法
2021/07/25 Python
最新最全的手机号验证正则表达式
2022/02/24 Javascript