2023-04-14 uni-popup 报错:Error in config.errorHandler: "RangeError: Maximum call stack size exceeded"

发布时间 2023-04-14 16:19:12作者: 哎呦你可棒棒了

问题描述:首次导入uniapp的uni-popup,在项目中使用时报错,业务场景为:页面渲染完成后显示弹窗。

报错:Error in config.errorHandler: "RangeError: Maximum call stack size exceeded"

config.errorHandler中的错误:“RangeError:超出了最大调用堆栈大小”

页面如下:

<uni-popup ref="loginBox" background-color="#fff" @change="handleLoginBox">
      <view class="popup-content">666</view>
</uni-popup>

js:


methods:{
    // 加载or关闭登录弹窗
    handleLoginBox() {
      this.$refs.loginBox.open('center')
    },
},
mounted() {
   // 弹出弹窗
    this.$refs.loginBox.open('center')
  },

我寻思着,mounted里面执行弹出应该没问题呀,ref="loginBox"也定义了,为什么页面一渲染就提示【超过了最大调用堆栈大小】呢?

原因:页面代码中的change绑定了一个handleLoginBox事件,就是这个事件导致了页面首次渲染的时候不断地去调用这个方法,从而导致页面内存爆满,也就是所谓的超过了最大调用堆栈大小。

解决方案:去除change绑定的事件即可。