vue噩梦,项目陷入某个死循环,求救!?

RangeError: Maximum call stack size exceeded

图片描述

项目过于庞大,我没办法贴代码,如果有遇到的人求指点一下,我怀疑是router问题,因为我不是在点击跳转的时候,或者是回退的时候,就会出现这个问题,现在简直没办法,继续开发下去,求救。。。。。。

阅读 7.4k
10 个回答

不懂vue,但是一般这种问题可以打断点,一步一步跟着走

递归栈溢出,这种情况多半是vue的相关钩子造成的数据改动,导致循环更新,题主检查一下。

回退正常情况时候 再一步一看是哪部分引起的。这样问没办法解决

断点调试 vue-router 全局钩子函数 肯定有出现A页面跳转B页面 B页面又跳转A页面的情况

既然没办法贴代码,我也只能说下我以往的调试经验。
先预估下大概是哪个模块导致的,然后通过注释掉引入模块的方法去排差,加console一点点排除。如果注释了某个模块不报错了,那就去搞那个模块咯
当然你如果能静下心来,从入口文件开始梳理一遍,我相信很快会解决的……

我的是vue-router 全局钩子函数 beforeEach有问题,造成了死循环,最后栈溢出。

仔细找找,是不是 a 文件里 import 了 b, b 文件里 import 了 a。

检查vue-router相关钩子的调用是否存在无法退出的情况,或者vue-router钩子没有使用next()退出?

遇到过,不确定是否为同一个问题. 我是在template写了一个未在data或state里面定义的数据,报这个错误.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏