关于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下关于$.Ready()的分析
Dec 13 Javascript
Extjs中ComboBox加载并赋初值的实现方法
Mar 22 Javascript
JS 去前后空格大全(IE9亲测)
Jul 15 Javascript
jquery.validate提示错误信息位置方法
Jan 22 Javascript
laypage分页控件使用实例详解
May 19 Javascript
javascript数据结构中栈的应用之符号平衡问题
Apr 11 Javascript
详解vue.js2.0父组件点击触发子组件方法
May 10 Javascript
js的函数的按值传递参数(实例讲解)
Nov 16 Javascript
React Navigation 使用中遇到的问题小结
May 08 Javascript
layui 上传图片 返回图片地址的方法
Sep 26 Javascript
javascript中layim之查找好友查找群组
Feb 06 Javascript
如何管理Vue中的缓存页面
Feb 06 Vue.js
浅谈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开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
2014/04/21 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
php面象对象数据库操作类实例
2014/12/02 PHP
php自定文件保存session的方法
2014/12/10 PHP
php中文验证码实现方法
2015/06/18 PHP
php 如何设置一个严格控制过期时间的session
2017/05/05 PHP
Laravel实现ORM带条件搜索分页
2019/10/24 PHP
Javascript引用指针使用介绍
2012/11/07 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
jquery+CSS3模拟Path2.0动画菜单效果代码
2015/08/31 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
2015/11/27 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
JS严格模式知识点总结
2018/02/27 Javascript
基于vue-video-player自定义播放器的方法
2018/03/21 Javascript
vue动态改变背景图片demo分享
2018/09/13 Javascript
koa2实现登录注册功能的示例代码
2018/12/03 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
2019/09/11 Javascript
对layui中table组件工具栏的使用详解
2019/09/19 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
2019/10/30 Javascript
Vue实现移动端拖拽交换位置
2020/07/29 Javascript
antd table按表格里的日期去排序操作
2020/11/17 Javascript
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
使用Python简单的实现树莓派的WEB控制
2016/02/18 Python
django实现登录时候输入密码错误5次锁定用户十分钟
2017/11/05 Python
python爬虫使用cookie登录详解
2017/12/27 Python
python切片及sys.argv[]用法详解
2018/05/25 Python
深入浅析python 协程与go协程的区别
2019/05/09 Python
使用CSS3来实现滚动视差效果的教程
2015/08/24 HTML / CSS
皮尔·卡丹巴西官方商店:Pierre Cardin
2017/07/21 全球购物
牛津在线药房:Oxford Online Pharmacy
2020/11/16 全球购物
网络事业创业计划书范文
2014/01/09 职场文书
前台文员我鉴定
2014/01/12 职场文书
军神教学反思
2014/02/04 职场文书
乡镇三项教育实施方案
2014/03/30 职场文书
2015年医院后勤工作总结
2015/05/20 职场文书
实验室安全管理制度
2015/08/05 职场文书