You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js过渡组件出现Maximum call stack size exceeded错误求助

问题原因及解决办法

你遇到的「Maximum call stack size exceeded」错误,根源是自定义组件的名称和Vue内置的<transition>组件重名了。

你的组件name属性设为了"Transition",而Vue在解析模板里的<transition>标签时,会优先使用你自定义的这个组件,而非内置的过渡组件。这就导致组件内部的<transition>又会调用自身,形成无限递归,最终触发栈溢出错误。

解决步骤

  • 修改组件的name属性,改成和内置组件不冲突的名称,比如"FadeTransition":
export default {
  name: "FadeTransition", // 修改此处名称
  data() {
    return {
      show: false
    };
  },
  // 其余代码保持不变
};

另外,你的过渡样式存在小瑕疵,fade-leave阶段未设置初始透明度,会导致离开动画不流畅,可补充如下:

.fade-leave {
  opacity: 1;
}

修改完成后,组件就能正常调用Vue内置的过渡组件,递归问题会被解决,过渡效果也能正常运行。

内容的提问来源于stack exchange,提问作者Lăng Rover

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 13:07:11