vue3 设置 表单或者页面 懒加载 (或者组件的异步加载)

用到的工具库  vueUse 和 useIntersectionObserver

1.UseIntersectionObserver 函数参数:

observerList: 由被观察目标所组成的数组,数组项是由React.createRef构建出来的对象

callback: 当目标元素被曝光所需要触发的函数,该函数接受一个参数indexList,由被曝光元素在observerList数组中的索引组成

infinite:是否持续观察目标元素,默认值为false。(因为曝光打点一般只需上报一次)

opt:可以自定义曝光条件(值的构成参考MDN),默认为{ threshold: [1] },只有当目标元素完全暴露在可视区内才触发回调

2.UseIntersectionObserver 返回值:

返回一个数组,数组的第一项元素由React的useState所返回。

 

示例:

1
2
3
4
5
6
npm i @vueuse/core
import { useIntersectionObserver } from '@vueuse/core'
 
const roomPhoto = ref<any>(null)
const  targetIsVisible= ref(false) const { stop } = useIntersectionObserver( roomPhoto, ([{ isIntersecting }], observerElement) => {    targetIsVisible.value = isIntersecting }, ))<div ref='target'> <C v-if='targetIsVisible'></C> </div>
        

  

posted @   沁猿春  阅读(535)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示