vue3 VueUse useElementVisibility 来监听某一个元素或者div是否在当前视口viewport中可见。

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

相关推荐
编程百晓君22 分钟前
OpenHarmony开发板环境搭建
vue.js
LCG元24 分钟前
Vue.js组件开发-实现列表无缝动态滚动
vue.js
GISer_Jing1 小时前
前端经典面试合集(二)——Vue/React/Node/工程化工具/计算机网络
前端·vue.js·react.js·node.js
高兴蛋炒饭9 小时前
RouYi-Vue框架,环境搭建以及使用
前端·javascript·vue.js
ᥬ 小月亮10 小时前
Vue中接入萤石等直播视频(更新中ing)
前端·javascript·vue.js
呜呼~2251411 小时前
前后端数据交互
java·vue.js·spring boot·前端框架·intellij-idea·交互·css3
Ares码农人生12 小时前
React 高级组件开发:动态逻辑与性能优化
vue.js·前端框架
嘤嘤怪呆呆狗13 小时前
【开发问题记录】执行 git cz 报require() of ES Module…… 错误
前端·javascript·vue.js·git·vue
ganlanA16 小时前
uniapp+vue 前端防多次点击表单,防误触多次请求方法。
前端·vue.js·uni-app
ZHYCH16 小时前
图片加载失败重试,重试至预期次数使用占位图
前端·vue.js