问题描述:首次导入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绑定的事件即可。
- quot errorHandler RangeError uni-popup exceededquot errorhandler rangeerror uni-popup quot httpsendrequest exceeded场景 errorhandler uni-popup rangeerror rangeerror undefined invalid cesium information rangeerror incorrect provided uni-popup popup 2023 uni uni-popup popup uni rangeerror invalid length typed