如果你需要在窗口变化时改变表格高度,可以尝试使用 debounce 函数来限制触发频率,避免出现 "ResizeObserver loop limit exceeded" 错误。例如:
```javascript
const handleResize = () => {
windowHeight.value = $(window).height();
contentH.value = windowHeight.value - 16.2 * parseFloat($('html').css('font-size'));
};
const cancalDebounce = debounce(handleResize, 500);
onMounted(() => {
getTableData();
window.addEventListener('resize', cancalDebounce);
});
onUnmounted(() => {
window.removeEventListener('resize', cancalDebounce);
});
```
在上面的代码中,我们使用 debounce 函数来限制 `handleResize` 函数的触发频率为 500ms,避免频繁地计算表格高度。同时,在窗口大小改变时,会触发 `cancalDebounce` 函数,从而更新表格高度。
需要注意的是,如果在修改表格高度时,又触发了窗口大小的改变,可能会形成一个死循环,导致 "ResizeObserver loop limit exceeded" 错误。为了避免这个问题,可以尝试使用 ResizeObserver 来监听表格高度的变化,而不是在窗口大小改变时计算表格高度。