关于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查找某元素中的所有图片地址的方法
Jan 16 Javascript
在JavaScript中构建ArrayList示例代码
Sep 17 Javascript
JS实现随机乱撞彩色圆球特效的方法
May 05 Javascript
JavaScript的面向对象编程基础
Aug 13 Javascript
学习Bootstrap滚动监听 附调用方法
Jul 02 Javascript
Bootstrap页面缩小变形的快速解决办法
Feb 03 Javascript
three.js中文文档学习之如何本地运行详解
Nov 20 Javascript
用node开发并发布一个cli工具的方法步骤
Jan 03 Javascript
VUE v-model表单数据双向绑定完整示例
Jan 21 Javascript
vue路由跳转传参数的方法
May 06 Javascript
react国际化化插件react-i18n-auto使用详解
Mar 31 Javascript
react合成事件与原生事件的相关理解
May 13 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 mssql 时间格式问题
2009/01/13 PHP
Google Voice 短信发送接口PHP开源版(2010.5更新)
2010/07/22 PHP
php daddslashes()和 saddslashes()有哪些区别分析
2012/10/26 PHP
深入apache host的配置详解
2013/06/09 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
php+redis实现多台服务器内网存储session并读取示例
2017/01/12 PHP
浅谈关于PHP解决图片无损压缩的问题
2017/09/01 PHP
BOOM vs RR BO3 第一场2.13
2021/03/10 DOTA
jquery Firefox3.5中操作select的问题
2009/07/10 Javascript
SWFObject 2.1以上版本语法介绍
2010/07/10 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
IE中document.createElement的iframe无法设置属性name的解决方法
2015/09/14 Javascript
javascript html5移动端轻松实现文件上传
2020/03/27 Javascript
JavaScript Ajax编程 应用篇
2016/07/02 Javascript
浅析Jquery操作select
2016/12/13 Javascript
jQuery实现弹幕效果
2017/02/17 Javascript
vue调用高德地图实例代码
2017/04/28 Javascript
JavaScript中Object值合并方法详解
2017/12/22 Javascript
jQuery实现输入框的放大和缩小功能示例
2018/07/21 jQuery
vue通过过滤器实现数据格式化
2020/07/20 Javascript
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
解决pytorch报错:AssertionError: Invalid device id的问题
2020/01/10 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
Django 5种类型Session使用方法解析
2020/04/29 Python
Python非单向递归函数如何返回全部结果
2020/12/18 Python
沙特阿拉伯电子产品和家用电器购物网站:Black Box
2019/07/24 全球购物
锐步英国官网:Reebok英国
2019/11/29 全球购物
测量实习生自我鉴定
2013/09/19 职场文书
相亲活动方案
2014/08/26 职场文书
家庭贫困证明书(3篇)
2014/09/15 职场文书
教师四风自我剖析材料
2014/09/30 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
青年联谊会致辞
2015/07/31 职场文书
缅怀先烈主题班会
2015/08/14 职场文书
导游词之河北野三坡
2019/12/11 职场文书
Django实现聊天机器人
2021/05/31 Python