<template>
<div ref="element">
...
</div>
</template>
<script setup>
import {ref, onMounted, onBeforeUnmount} from "vue";
const isSmall = ref(false)
const element = ref(null);
const resizeObserver = new ResizeObserver(entries => {
// 处理大小变化的回调函数
if(element.value && element.value.offsetWidth < 1140) {
isSmall.value = true
} else {
isSmall.value = false
}
});
onMounted(() => {
getList()
resizeObserver.observe(element.value);
})
// 移除监听
onBeforeUnmount(() => {
resizeObserver.unobserve(element.value);
})
</script>
本文介绍了如何在Vue项目中使用ResizeObserver监测`element`组件的宽高变化,以实现当宽度小于1140px时切换isSmall状态。文章详细阐述了组件挂载、卸载时的观察者管理和生命周期管理。
3869

被折叠的 条评论
为什么被折叠?



