首页 > 其他分享 >vue3 设置 表单或者页面 懒加载 (或者组件的异步加载)

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

时间:2024-05-23 17:18:00浏览次数:29  
标签:const useIntersectionObserver 元素 表单 数组 vue3 曝光 加载

用到的工具库  vueUse 和 useIntersectionObserver

1.UseIntersectionObserver 函数参数:

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

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

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

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

2.UseIntersectionObserver 返回值:

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

 

示例:

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>
	    

  

标签:const,useIntersectionObserver,元素,表单,数组,vue3,曝光,加载
From: https://www.cnblogs.com/qinyuanchun/p/18209021

相关文章

  • three.js之加载模型
    加载各种模型<canvasid="mainCanvas"></canvas><scripttype="importmap">{"imports":{"three":"./js/build/three.module.js","three/addons/":"./js/jsm/"......
  • VUE3.0的安装教程
    一、下载nodejs    访问nodejs官网或者中文网:nodejs中文网  二、点击下载得到的.msi文件   (1) 点击next (2)接收协议,下一步        三、配置npm相关文件  (1)打开刚才安装node.js的文件夹,在里面新建两个文件夹,分别为node_......
  • vant组件库按需加载
    使用 unplugin-vue-components 插件,它可以自动引入组件,并按需引入组件的样式1、安装插件npmiunplugin-vue-components-D2、vite.config.js 文件中配置插件import{fileURLToPath,URL}from'node:url'import{defineConfig}from'vite'importvuefrom'@vit......
  • Element-plus按需加载
    1、需安装unplugin-vue-components 和 unplugin-auto-import这两款插件npminstall-Dunplugin-vue-componentsunplugin-auto-import2、修改vite.config.js配置文件import{defineConfig}from'vite'importAutoImportfrom'unplugin-auto-import/vite'impor......
  • Electron-Vue3-Vadmin后台系统|vite2+electron桌面端权限管理系统
    Electron-Vue3-Vadmin后台系统|vite2electron桌面上端管理权限智能管理系统根据vite2.xelectron12桌面上端后台管理智能管理系统Vite2ElectronVAdmin。继上一次共享vite2融合electron构建后台框架,此次产生的是全新开发设计的跨桌面上中后台管理管理权限智能管理系统。应用全新......
  • 如何实现上拉加载,下拉刷新?
    一、前言下拉刷新和上拉加载这两种交互方式通常出现在移动端中本质上等同于PC网页中的分页,只是交互形式不同开源社区也有很多优秀的解决方案,如iscroll、better-scroll、pulltorefresh.js库等等这些第三方库使用起来非常便捷我们通过原生的方式实现一次上拉加载,下拉刷新,有助......
  • 提升WordPress网站加载速度的8个小技巧
    提升WordPress网站加载速度是至关重要的,它不仅可以提高用户体验,还有助于SEO排名。以下是提升WordPress网站加载速度的8个小技巧,希望能帮助到大家。优化图片:使用适当大小和格式的图片。利用插件(如Smush或EWWWImageOptimizer)对图片进行压缩。启用缓存:使用WordPress缓存......
  • 摸清自定义流程表单开发优点 实现降本增效!
    随着社会竞争压力的增大,很多企业都希望实现降本增效提质的办公效果。那么,借助什么样的软件平台可以让企业在提升市场竞争力的前提下,还能降低开发成本,提高成效?低代码技术平台是目前流行于中小企业办公职场中的平台产品,其中自定义流程表单开发优势特点多、灵活高效、可视化操作界面,......
  • vue3 Cesium添加地形的办法
    Cesium自带有地形,awaitCesium.createWorldTerrainAsync({    requestVertexNormals:true,    requestWaterMask:true    });async需要自己添加在方法前面然后在newCesium.Viewer("map",{terrainProvider:provider})provide中,第一个......
  • springboot中执行完某些逻辑后,才算bean加载完,applicationContext才加载完毕
    核心思想实现InitializingBean接口,重写afterPropertiesSet方法范例代码importlombok.extern.slf4j.Slf4j;importorg.springframework.beans.factory.InitializingBean;importorg.springframework.stereotype.Component;@Slf4j@ComponentpublicclassDemoimplementsI......