关于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 相关文章推荐
大家未必知道的Js技巧收藏
Apr 07 Javascript
基于JQuery的cookie插件
Apr 07 Javascript
jqeury eval将字符串转换json的方法
Jan 20 Javascript
屏蔽相应键盘按钮操作
Mar 10 Javascript
通过url查找a元素应用案例
Apr 29 Javascript
js实现简单的左右两边固定广告效果实例
Apr 10 Javascript
举例说明如何为JavaScript的方法参数设置默认值
Nov 17 Javascript
用NODE.JS中的流编写工具是要注意的事项
Mar 01 Javascript
深入理解Angular中的依赖注入
Jun 26 Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
Jan 23 Javascript
ES6入门教程之let、const的使用方法
Apr 13 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
May 14 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通过记录IP来防止表单重复提交方法分析
2014/12/16 PHP
laravel 实现登陆后返回登陆前的页面方法
2019/10/03 PHP
JavaScript中实现块作用域的方法
2010/04/01 Javascript
浅析tr的隐藏和显示问题
2014/03/05 Javascript
js判断浏览器类型为ie6时不执行
2014/06/15 Javascript
JavaScript字符串对象substring方法入门实例(用于截取字符串)
2014/10/17 Javascript
基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
2015/11/24 Javascript
JavaScript电子时钟倒计时
2016/01/09 Javascript
jQuery实现的文字hover颜色渐变效果实例
2016/02/20 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
2016/05/10 Javascript
微信小程序 this和that详解及简单实例
2017/02/13 Javascript
Linux CentOS系统下安装node.js与express的方法
2017/04/01 Javascript
vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
2018/04/13 Javascript
小程序自定义日历效果
2018/12/29 Javascript
vue-cli 为项目设置别名的方法
2019/10/15 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
Python实现国外赌场热门游戏Craps(双骰子)
2015/03/31 Python
Python中的变量和作用域详解
2016/07/13 Python
利用Python实现颜色色值转换的小工具
2016/10/27 Python
python使用pdfminer解析pdf文件的方法示例
2018/12/20 Python
如何使用Flask-Migrate拓展数据库表结构
2019/07/24 Python
Python cookie的保存与读取、SSL讲解
2020/02/17 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
2021/02/03 Python
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
联想香港官方网站及网店:Lenovo香港
2018/04/13 全球购物
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
慕尼黑山地运动、户外服装和体育用品专家:Sporthaus Schuster
2019/08/27 全球购物
软件测试专业推荐信
2014/09/18 职场文书
微笑面对生活演讲稿
2014/09/23 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
财政局个人年终总结
2015/03/03 职场文书
2015年体育教师个人工作总结
2015/05/12 职场文书
python turtle绘图命令及案例
2021/11/23 Python
人民币符号
2022/02/17 杂记
Vue+TypeScript中处理computed方式
2022/04/02 Vue.js
nginx之内存池的实现
2022/06/28 Servers