RangeError: Maximum call stack size exceeded(父子组件name相同引起的页面卡死)

本文记录了一次由于Vue子组件和父组件name属性相同,引发的无限递归错误,导致‘超出最大调用堆栈大小’的问题。错误并非由递归函数引起,而是组件间的错误引用。解决方案是简单地修改组件的name属性,避免名称冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误描述

        记录今天项目中遇到的一个bug,写页面的时候,复制了父组件一份,修改后当作子组件用,但是name值忘记改了,子组件的name值和父组件的name一样,然后template在编译时,不会去找components引入的组件,而是直接引入自己,形成一个递归组件,最后导致这个问题。

错误解释

  • 以上错误的意思是 "超出最大调用堆栈大小"

  • 出现这种错误最常见的原因是:在代码中的某个地方,您正在调用一个函数,该函数又调用另一个函数,依此类推,直到达到调用堆栈限制。这几乎总是因为具有未满足的基本情况的递归函数。

  • 今天这个bug不是递归函数调用引起的,是因为组件名称冲突了,递归引用导致的问题。

解决方法:修改一下组件名称即可。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值