位置: IT常识 - 正文

vue3中实现异步组件(vue解决异步取值问题)

编辑:rootadmin
vue3中实现异步组件

推荐整理分享vue3中实现异步组件(vue解决异步取值问题),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue异步调用方法,vue3 异步组件,vue如何实现异步加载,vue异步调用方法,vue3 异步组件,vue异步是什么意思,vue异步是什么意思,vue异步是什么意思,内容如对您有帮助,希望把文章链接给更多的朋友!

使用场景一:当组件进入视窗时再进行加载

假设页面中有三个组件A、B、C

C组件中有一张图片

<template> <div class="A"> <A></A> </div> <div class="B"> <B></B> </div> <div> <C></C> </div></template><script setup>import A from './components/A.vue'import B from './components/B.vue'import C from './components/C.vue'</script>

打开页面:

如果一个页面中的内容非常多,用户再首次打开时并没有浏览到下方的内容,但页面必须加载完下方的内容才会显示,这无疑非常影响性能

接下来我们做一些调整

defineAsyncComponentvue3中实现异步组件(vue解决异步取值问题)

创建一个只有在需要时才会加载的异步组件。

 defineAsyncComponent是vue3提供的内置api。用于异步加载组件

但是仅靠这个api并不能完成我们所需要的功能

这里我们还需要借助vueUse中的一个api 

首先我们需要安装一下vueUse的依赖

npm i @vueuse/core

我们需要使用vueUse中的useIntersectionObserver 

 安装完成后来修改一下我们的代码:

<template> <div class="A"> <A></A> </div> <div class="B"> <B></B> </div> <div ref="target"> <C v-if="targetIsVisible"></C> </div></template><script setup>import A from './components/A.vue'import B from './components/B.vue'import { defineAsyncComponent, ref } from 'vue';import { useIntersectionObserver } from '@vueuse/core'const C = defineAsyncComponent(() => //异步引入组件 import('./components/C.vue'))const target = ref(null) //获取需要操作的dom元素const targetIsVisible = ref(false) //定义一个dom元素显示与隐藏开关const { stop } = useIntersectionObserver( //定义一个函数用于控制 target, ([{ isIntersecting }]) => { //这里的isIntersecting表示的是dom元素是否进入视窗,值为true或flase console.log(isIntersecting); if (isIntersecting) { targetIsVisible.value = isIntersecting //将isIntersecting赋值给开关,即表示进入视窗就显示该dom元素 } },)</script>

 

 

这样就实现了异步加载C组件,在页面视窗滚动到C组件时才会加载C组件。

本文链接地址:https://www.jiuchutong.com/zhishi/297389.html 转载请保留说明!

上一篇:使用python中的pymrmr模块来进行特征提取,深入学习mRMR(最大相关最小冗余准则)(python pymongo)

下一篇:登录页面的实现及跳转(vue-router)(登录页面的实现方式)

  • 不用直通车照样打造爆款(直通车不开创意可以吗)

    不用直通车照样打造爆款(直通车不开创意可以吗)

  • 罗技无线键盘如何重新配对(罗技无线键盘如何恢复出厂设置)

    罗技无线键盘如何重新配对(罗技无线键盘如何恢复出厂设置)

  • vivox70pro+有双扬声器吗(vivox70Pro+有双扬声器吗)

    vivox70pro+有双扬声器吗(vivox70Pro+有双扬声器吗)

  • 一加7pro有语音助手吗(一加7pro语音助手怎么唤醒)

    一加7pro有语音助手吗(一加7pro语音助手怎么唤醒)

  • 毒可以分期付款吗(毒分期付款有利息吗)

    毒可以分期付款吗(毒分期付款有利息吗)

  • 微信确认续租有效吗(微信 续订)

    微信确认续租有效吗(微信 续订)

  • oppo手机横屏模式在哪里设置(oppo手机横屏设置)

    oppo手机横屏模式在哪里设置(oppo手机横屏设置)

  • 抖音删了还能找回来吗(抖音删除还能找到吗)

    抖音删了还能找回来吗(抖音删除还能找到吗)

  • ipad7和ipadair3的区别(ipad air3和ipad第七代)

    ipad7和ipadair3的区别(ipad air3和ipad第七代)

  • mate30pro怎么插双卡(华为mate30pro如何插双卡)

    mate30pro怎么插双卡(华为mate30pro如何插双卡)

  • 打视频网络异常是怎么回事(打视频网络异常中断怎么回事)

    打视频网络异常是怎么回事(打视频网络异常中断怎么回事)

  • iphone lla是什么版本(苹果手机l/a是什么意思)

    iphone lla是什么版本(苹果手机l/a是什么意思)

  • 淘宝怎么开夜间模式(淘宝怎么开夜间模式苹果)

    淘宝怎么开夜间模式(淘宝怎么开夜间模式苹果)

  • 苹果怎么清理隐藏内存(苹果怎么清理隐藏灰色内存iPhone12)

    苹果怎么清理隐藏内存(苹果怎么清理隐藏灰色内存iPhone12)

  • 文件盒标签怎么做(文件盒标签怎么制作)

    文件盒标签怎么做(文件盒标签怎么制作)

  • ipad2017和air2对比(ipad2017和air2选哪个)

    ipad2017和air2对比(ipad2017和air2选哪个)

  • 硬件检测不到独立显卡(硬件检测检测不到独显)

    硬件检测不到独立显卡(硬件检测检测不到独显)

  • 拼多多多长时间自动确认收货(拼多多多长时间算揽件超时)

    拼多多多长时间自动确认收货(拼多多多长时间算揽件超时)

  • airpods2续航时间(airpods2续航时间多久)

    airpods2续航时间(airpods2续航时间多久)

  • 华为arstl00是什么型号(华为arstl00参数配置)

    华为arstl00是什么型号(华为arstl00参数配置)

  • r5 1600配什么主板(r5 1600主板推荐)

    r5 1600配什么主板(r5 1600主板推荐)

  • 陌陌神豪1要刷多少(陌陌神豪多少钱)

    陌陌神豪1要刷多少(陌陌神豪多少钱)

  • 电脑时间不准怎么调整(电脑时间不准怎么自动更新)

    电脑时间不准怎么调整(电脑时间不准怎么自动更新)

  • windows无法连接到wifi解决方法(windows无法连接到打印机指定的网络名不再可用)

    windows无法连接到wifi解决方法(windows无法连接到打印机指定的网络名不再可用)

  • python序列解包的使用(python 序列化)

    python序列解包的使用(python 序列化)

  • 增值税专用发票抵扣期限
  • 其他应付款借方余额怎么调整
  • 简单的记账方法明细表格怎么做
  • 电子商务公司开业活动流程
  • 砖厂开票员的工作流程
  • 单身租房可以专租房吗
  • 社保按基数交工资按时发怎么做账
  • 税务稽查补缴的税款需要申报吗
  • 进项大于销项的会计分录怎么做?
  • 建设工程材料检测费
  • 增值税进项税转出所得税调整吗
  • 记账凭证的附件包括哪些
  • 事业单位代扣社保分录
  • 固定资产处理怎么记账
  • 亏损弥补额的年数如何计算?
  • 通用机打发票现在还有吗
  • 预缴的附加税还可以扣减吗
  • 金税盘使用说明
  • 个税和实发不一样
  • 退进项税留抵是什么意思
  • 金税盘增值税减免税申报明细表怎么填
  • 电子发票可以开专票吗
  • 代购买东西流程
  • 调增应纳税所得额季度申报表怎么填
  • 鸿蒙2.0正式版升级
  • 一般纳税人购进农产品如何抵扣进项税额
  • 如何将win11任务栏变小一点
  • 出租商品计入什么科目
  • 补缴增值税滞纳金天数
  • 股权转让定金怎么退回
  • win10蓝牙驱动怎么安装程序
  • mediacache是什么文件夹
  • 商业银行贷款的三种基本形式
  • php删除数组中重复的元素
  • 缴住房公积金会计分录怎么写
  • 可供出售金融资产的会计处理
  • monolog php
  • php限制接口调用次数
  • vue封装组建
  • reset fields
  • 小规模纳税人季报需要报什么
  • 新旧所得税法转换规定
  • 进项发票是专票吗
  • 国家税务局监制的票还能用吗
  • PostgreSQL之分区表(partitioning)
  • 增值税发票过了两个月怎么作废
  • 光盘盒属于什么税收分类
  • 租车费开票属于哪个类别
  • 发放工资凭证后多久到账
  • 以前年度损益调整怎么做账
  • 法院拍卖得来的物品有发票吗
  • 增值税达不到税负怎么办
  • 公司客户招待费用标准
  • 跨年度暂估成本的账务处理
  • 企业收到普通发票需要报税嘛
  • 公司提前扣员工保险合法吗
  • 可供出售金融资产是指什么
  • 其他业务支出包括哪些内容科目
  • 租赁写字楼的需求有哪些
  • 收到红字发票进项税怎么做账务处理
  • 实收资本小于注册资本账务处理
  • 编制合并报表时最关键的一步
  • xp系统开机一直在启动界面
  • winxp共享打印机win11
  • centos7 zsh
  • 20150405农历
  • bootstrap表格内容模板
  • perl脚本调试方法
  • include eigen
  • python中list的用法例子
  • document.all.value
  • Python 装饰器深入理解
  • 学习JavaScript事件流和事件处理程序
  • javascript基础笔记
  • pythonandroid开发
  • js实现滑动效果
  • 电脑多窗口同步操作
  • 12366纳税服务热线坐席人员
  • 山西房产税征收标准
  • 报纸的增值税税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设