Maximum call stack size exceeded错误描述

浏览器错误提示
其实就是超出最大调用堆栈大小,查了很长时间,总结解决方法如下几种:

1、最常见的原因就是:递归函数出错

检查递归函数是否具有停止调用的判断条件,解决后,就不会有堆栈溢出了。

2、路由拦截出错

问题代码如下:想实现的是,路由拦截,不允许乱跳转页面

router.beforeEach((to, from, next) => {
  if (to.path === '/login') next()
  const tokenStr = window.sessionStorage.getItem('token')
  if (!tokenStr) return next('/login')
  next()
})

解决如下:

router.beforeEach((to, from, next) => {
  if (to.path === '/login') next()
  const tokenStr = window.sessionStorage.getItem('token')
  // 增加判断条件
  if (!tokenStr && to.path !== '/login') return next('/login')
  next()
})
3、如果没有递归模块,查看路由拦截器重定向错误

如:想法是访问不存在的页面,跳转到404页面

{ path: '*', redirect: '/404' }

错误描述:页面 /404 在路由里面没有配置,故引发出错
解决:使用路由时,先配置注册这个页面

内容持续更新中…
lvan学习笔记-文章内容仅个人观点
2020.5.24

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐