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

相关推荐
天天喝旺仔5 小时前
Vue 3 组合式 API:从 Options 迁移到 script setup
前端·javascript·vue.js
Cry丶6 小时前
Vue 3 业务管理页面实战:组件拆分、父子通信与弹窗复用
前端·javascript·vue.js·父子通信·组件拆分·弹窗复用
雪芽蓝域zzs6 小时前
Vue前端配置路由通配捕获 404
前端·javascript·vue.js
木公子11 小时前
Vue3源码精读04:Scheduler 调度器深度解析|异步批量更新与任务队列源码全解
前端·vue.js
nicole bai12 小时前
dialog封装
前端·javascript·vue.js
索西引擎13 小时前
【Vue】Vue.js 3 声明式渲染架构的设计原理与模块协同机制研究
前端·javascript·vue.js
mayaairi15 小时前
Vue2 事件绑定完全指南:从入门到原理
前端·javascript·vue.js
ℋᙚᵐⁱᒻᵉ鲸落21 小时前
移动端滑动手势冲突:overflow: auto导致外层横向滑动失效
前端·javascript·css·vue.js·html
用户50093768390391 天前
热敏小票 Web 打印:我在 58/80mm 上折腾的两周
前端·vue.js
snow@li1 天前
服务器运维:Alibaba Cloud Linux 4 LTS・Vue前端 Java 后端 K3S 部署 CICD 目录规范清单
linux·前端·vue.js