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> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类