1、先上一个图:
2、安装@vueuse/core
pnpm add @vueuse/core
3、新建一个组件:
<script setup lang="ts">
import { ref, watch } from "vue";
import { useElementVisibility } from "@vueuse/core";const target = ref(null);
const targetIsVisible = useElementVisibility(target);
let emit = defineEmits(["showVisible"]);watch(targetIsVisible, (newValue) => {if (newValue) {emit("showVisible",newValue);} else {emit("showVisible",newValue);}
});
</script><template><div ref="target"><h1>Hello world</h1></div>
</template>
这里面是利用@vueuse/core提供的useElementVisibility,来监听ref=”target"的可见状态。然后我们用watch去监听这个属性的变化,然后汇报给App.vue。
4、引用刚建的组件到App.vue
这样我们就可以成功的去看这个div是不是在viewport可见范围了。
官网:
useElementVisibility | VueUse