Vue引入异步组件

defineAsyncComponent 函数:异步引入组件。

Suspense 标签:异步引入组件时,显示默认的内容。

 异步引入组件的基本使用:

 异步引入组件:

import { defineAsyncComponent } from 'vue';
const Child = defineAsyncComponent(() => {
  return import('../components/Child.vue');
});

设置组件默认显示的内容:

<Suspense>
  <!-- 如果组件加载成功,就显示 default 中的内容 -->
  <template v-slot:default>
    <Child></Child>
  </template>
  <!-- 如果组件正在加载中,就显示 fallback 中的内容 -->
  <template v-slot:fallback>
    <h3>加载中,请稍等...</h3>
  </template>
</Suspense>

:Suspense 标签中有两个插槽 default 和 fallback,插槽名是固定的,不能随意更改。

异步引入组件的作用:

创建 Child 子组件:

<template>
    <div class="child">
        <h3>我是Child组件(子组件)</h3>
    </div>
</template>

<script>
export default {
    name: "Child"
}
</script>
<style scoped>
.child {
    background-color: red;
    padding: 10px;
}
</style>

创建 Parent 父组件:通过静态引入的方式使用 Child 组件。

<template>
  <div class="parent">
    <h3>我是Parent组件(父组件)</h3>
    <Child></Child>
  </div>
</template>

<script>
// 静态引入【同步引入】
import Child from '../components/Child';
export default {
  name: "Parent",
  components: { Child }
}
</script>

<style scoped>
.parent {
  background-color: aqua;
  padding: 10px;
}
</style>

:在控制台的 Network 中,将网络调成 Slow 3G(慢的 3G 网络)。刷新页面后,我们会发现父组件和子组件是一起显示的。

:假如子组件中的数据量特别大,那么静态引入时,也会导致父组件延迟显示。

修改 Parent 父组件:通过异步引入的方式使用 Child 组件。

<template>
  <div class="parent">
    <h3>我是Parent组件(父组件)</h3>
    <Child></Child>
  </div>
</template>

<script>
// 引入 defineAsyncComponent 函数
import { defineAsyncComponent } from 'vue';
// 动态引入【异步引入】
const Child = defineAsyncComponent(() => {
  return import('../components/Child.vue');
});
export default {
  name: "Parent",
  components: { Child }
}
</script>

<style scoped>
.parent {
  background-color: aqua;
  padding: 10px;
}
</style>

:同样调成 Slow 3G 网络,我们会发现父组件显示出来之后,子组件才显示。

 

原创作者:吴小糖

创作时间:2023.10.27

小吴吴吴呀
关注 关注
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
vue3异步组件.zip
03-31
在这个名为 "vue3异步组件.zip" 的压缩包中,博主通过一个实际的 demo 展示了如何在 Vue3 中应用新的路由管理和异步组件功能。 首先,我们来看看 `index.html` 文件,这是 Web 应用的入口点。在 Vue3 项目中,通常...
Vue引入一个异步组件
LiuJia20010827的博客
08-31 1122
Vue引入异步组件可以通过动态导入(Dynamic Import)和异步组件工厂函数(Async Component Factory Function)来实现
Vue.js 中的异步组件是什么?如何使用异步组件
IT徐师兄
06-05 5819
在传统的 Vue.js 开发中,组件是在应用程序启动时就立即加载的。这种方式虽然简单,但是会导致应用程序的初始加载时间变长,影响用户体验。为了提高应用程序的性能和加载速度,Vue.js 提供了异步组件异步组件是一种延迟加载组件的方式,即只有在需要使用该组件时才会进行加载。Vue.js 异步组件的实现方式是通过import()函数来实现的。在使用异步组件时,需要将组件定义为一个函数,返回一个import()函数,该函数会异步加载组件并返回一个 Promise 对象。});
vue3异步引入组件
qq_42351255的博客
06-15 687
在大型项目中,我们可能需要拆分应用为更小的块,并仅在需要时再从服务器加载相关组件Vue 提供了 defineAsyncComponent如你所见,方法接收一个返回 Promise 的加载函数。这个 Promise 的resolve回调方法应该在从服务器获得组件定义时调用。你也可以调用表明加载失败。也会返回一个 Promise,所以多数情况下我们会将它和搭配使用。最后得到的AsyncComp是一个外层包装过的组件,仅在页面需要它渲染时才会调用加载内部实际组件的函数。
关于vue 动态引入异步加载import和require)组件的方法和坑(按需懒加载组件,动态生成路由)babel-plugin-dynamic-import-node 优化编译速度
热门推荐
yorcentroll的博客
01-26 2万+
关于vue 动态引入异步加载)组件的方法和坑(按需懒加载组件,动态生成路由)babel-plugin-dynamic-import-node 优化编译速度
Vue项目中异步组件引入使用
最新发布
Niucode的博客
04-26 664
Vue项目中异步组件引入使用
Vue异步组件使用详解
01-19
嗯,换句话说,这段代码告诉你,通过这种方式引入异步组件,然后他漏掉了一些内容,比如说赋值,如何使用之类。 【1】官方示例代码: Vue.component('async-webpack-example', function (resolve) { // 这个特殊的...
Vue中的异步组件函数实现代码
10-18
Vue中实现异步组件的常用方法之一就是使用ES6的动态import语法,这个语法在Vue2.6版本后得到了官方支持。它允许开发者将组件代码分割成多个文件,并在需要时才进行加载。这样做的好处是,可以避免一次性加载全部...
vue同步父子组件异步父子组件的生命周期顺序问题
12-12
关于vue组件引入方式有两种 一、 同步引入 例子: import Page from '@/components/page' 二、异步引入 例子:const Page = () => import('@/components/page') 或者: const Page = resolve => require(['@/...
简单的Vue异步组件实例Demo
08-28
Vue.js 是一款流行的前端框架,它提供了一种高级特性——异步组件,使得开发者能够按需加载组件,从而提升应用程序的性能。异步组件的概念在大型应用中尤其有用,因为它们允许只在需要时才从服务器请求或解析组件...
vue异步组件
李剑一
08-30 4001
vue允许以工厂函数的方式定义组件,这个工厂函数会异步定义组件,在组件需要渲染时才进行加载。
vue 异步引入组件
weixin_43294560的博客
02-21 2377
// 异步操作 const LRC = Vue.component("lrc",(resolve)=>require(["../components/LRC"],resolve)) 在引入组件的script中操作
Vue中的异步组件详解
qq_44741577的博客
02-03 3046
是指通过异步方式加载的组件。当我们的项目达到一定的规模时,对于某些组件来说,我们并不希望一开始全部加载,而是需要的时候进行加载。这样做可以很好的提高用户体验,加快页面的载入速度,为此Vue 提供了异步组件的性能优化方案。对比项普通组件异步组件加载方式在应用启动时一次性加载所有组件按需动态加载组件,只有在实际需要时才加载性能所有组件都会在应用启动时加载,可能导致初始加载时间较只加载必要的组件,减少初始加载时间,提高应用性能可复用性组件可以在不同的页面或场景中复用。
Vue学习-异步组件
qq_57047040的博客
03-09 5352
Vue异步组件
vue3异步组件加载
许珊珊同学的专栏
06-16 1410
异步引入组件,按需渲染
vue3 异步组件引用及使用
m0_65730686的博客
10-13 1058
vue3 异步组件引用及使用
vue其他相关】总结组件和JS的所有引入写法(按需,动态等),原理不定期更新!
庞囧的博客
05-16 2807
例如当一个首屏页面,其中有a组件做了按需引入,我们可以通过浏览器的Network记录查看,他同时拉取首页的资源和a组件单独打包的资源,但是要等首页拉取完毕后才去拉取a组件。使用这种script方式的效果是:当你用v-if渲染子组件或者浏览器浏览到的时候,才会去单独拉取该子组件的打包代码文件,可以通过浏览器的Network记录证实。页面中有较为复杂的组件,导致渲染过久。如果是路由组件做了按需引入怎么理解,其实很好理解,我们最外层不是有个App.vue,这个就相当于路由组件的父组件,所以逻辑和上面说的一样。
vue3 defineAsyncComponent 使用异步组件的方式来动态加载组件
Ll307748784的博客
02-27 1059
首先我们在我们先创建一个叫routerHelper.ts的文件 引入以下代码。注意modules 中要创建的路径。下一步就引入文件然后进行展示。记录学习过程 比较菜。
异步引入组件
xiaowude_boke的博客
03-26 428
异步引入组件
Vue应用异步组件优化:提升首屏性能
Vue应用程序的性能优化中,异步组件是一种重要的策略,特别是在处理大型单页应用的首屏渲染速度问题上。由于单页应用在初次加载时需要下载和解析大量的JavaScript,这可能会导致加载时间过长,影响用户体验。特别...
写文章

热门文章

  • Threejs加载OBJ模型 6874
  • VSCode 如何设置背景图片 6580
  • Vue中如何使用v-model双向数据绑定select、checked等多种表单元素 5552
  • Vue获取子组件实例对象 ref 属性 4607
  • uniapp 目录结构 4060

分类专栏

  • HTML 1篇
  • CSS 1篇

最新评论

  • VSCode 如何设置背景图片

    knight595: 左边目录展开时会遮挡,这个怎么解决?

  • VSCode 如何设置背景图片

    syh200506: 有用,太棒了哥表情包

  • uniapp 目录结构

    xiaoyuanfannao: 我创建api或任何别名目录运行编译后在微信开发者工具里么有显示出来,mp-weixin也没有生成api等自定义名称的目录

  • Vue3 跨组件传参 provide 与 inject

    Mengjialei111: 方法怎么传?

  • vue项目中页面遇到404报错

    技术蜜糖罐: 优质好文,博主的文章细节很到位,兼顾实用性和可操作性,感谢博主的分享,期待博主持续带来更多好文

最新文章

  • keep-alive的两个属性的作用
  • 对接小程序的流程
  • for in 和 for of的区别
2024
03月 32篇
02月 12篇
01月 33篇
2023年137篇
2022年14篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小吴吴吴呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司无锡做网站优化哪家做的好青羊网站建设优化河北家纺行业网站优化推广可靠吗内蒙古外贸网站优化灵昆网站优化江都企业网站优化价格南宁网站优化咨询深圳优化一个网站如何优化网站提高收录东莞网站搜索引擎优化正规网站优化霸屏家电网站seo优化团队安庆网站优化公司费用网站快速优化就选vs火19星优化网站升上去塔城优化网站排名推荐咨询梅州企业网站关键词优化报价网站发布的帖子怎么优化静安区专业网站优化价格费用为什么网站要优化盘锦网站优化濮阳五金行业网站优化推广有哪些宣城企业网站排名优化哪家信誉好开封网站优化哪家便宜西安网站优化有限公司常州个人网站优化许昌外贸网站优化哪个好网站推广优化关键词效果如何网站排名优化学习少儿培训网站优化传播香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化