位置: IT常识 - 正文

vue3 动态加载组件、动态引入组件(vuejs动态加载组件)

编辑:rootadmin
vue3 动态加载组件、动态引入组件

推荐整理分享vue3 动态加载组件、动态引入组件(vuejs动态加载组件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue动态加载组件,vue动态加载div,vue3动态加载组建到body上,vue动态加载vue文件,vuejs动态加载组件,vue3 动态加载组件,vue3 动态加载组件,vue3动态加载组建到body上,内容如对您有帮助,希望把文章链接给更多的朋友!

1.问题 在做一个用vite构建的vue3项目时,动态拉取导入.vue页面,然后控制台一直有以下提示,页面也无法渲染出来。 2.分析 根据上面的报错提示,让我们安装并使用:@rollup/plugin-dynamic-import-vars 这个插件(最终没有这个方案)。

vue3 动态加载组件、动态引入组件(vuejs动态加载组件)

Vite官方文档说需要使用Glob 导入形式,然后看了一个Glob的文档,解决了这个问题(亲测可行)。

首先需要使用特殊的import.meta.glob函数从文件系统导入多个模块:

const modules = import.meta.glob('../views/*/*.vue');

他会匹配并导入所有相关的组件:

// vite 生成的代码const modules = { './views/foo.vue': () => import('./views/foo.vue'), './views/bar.vue': () => import('./views/bar.vue')}

那么回到项目中,在home文件夹下的index.vue文件中导入custom_components文件夹下的所有.vue文件 因此,根据vite的import.meta.glob函数:就可以获得对应的custom_components文件夹下的.vue文件

const changeComponents = (e:string)=>{const link = modules[`../custom_components/${e}.vue`]console.log(link,'link')}

打印link可以看到 最后就是异步注册组件

layouts.value = markRaw(defineAsyncComponent(link))

3.最后 下面贴出完整案例,仅供参考。有更好的或者需要优化的可以提问一起探讨。

<template><div @click="changeComponents('kk')">显示kk.vue</div><div @click="changeComponents('index')">显示index.vue</div><component :is="layouts"/></template><script lang='ts' setup>const modules = import.meta.glob('../custom_components/*.vue');let layouts = ref<any>(null)const changeComponents = (e:string)=>{const link = modules[`../custom_components/${e}.vue`] layouts.value = markRaw(defineAsyncComponent(link))}</script>
本文链接地址:https://www.jiuchutong.com/zhishi/288931.html 转载请保留说明!

上一篇:黑尾塍鹬,荷兰 (© Edward van Altena/Minden Pictures)(黑尾鮰鱼)

下一篇:idea为web项目添加tomcat并配置Artifacts(idea添加web项目)

  • 奥克斯破壁机显示e1是怎么回事(奥克斯破壁机显示E1)

    奥克斯破壁机显示e1是怎么回事(奥克斯破壁机显示E1)

  • 共享文档怎么导出Excel(共享文档怎么导出ppt)

    共享文档怎么导出Excel(共享文档怎么导出ppt)

  • iphone11可以设置电池百分比吗(iPhone11可以设置专注模式吗)

    iphone11可以设置电池百分比吗(iPhone11可以设置专注模式吗)

  • 苹果12pro设置小圆点的方法是什么(苹果12pro设置小白点)

    苹果12pro设置小圆点的方法是什么(苹果12pro设置小白点)

  • 怎么把三个文件放在一个文件夹里(怎么把三个文件打包成一个文件)

    怎么把三个文件放在一个文件夹里(怎么把三个文件打包成一个文件)

  • iphone查找朋友对方会知道吗(iphone查找朋友对方关闭了还能看到吗)

    iphone查找朋友对方会知道吗(iphone查找朋友对方关闭了还能看到吗)

  • 华为mate30相册在哪里(华为mate30手机相册)

    华为mate30相册在哪里(华为mate30手机相册)

  • 闲鱼曝光率最高多少(闲鱼曝光率高的商品)

    闲鱼曝光率最高多少(闲鱼曝光率高的商品)

  • vivo手机充电发热很烫 怎么办(vivo手机充电发热发烫正常吗)

    vivo手机充电发热很烫 怎么办(vivo手机充电发热发烫正常吗)

  • 苹果手机压tp是什么意思(iphone 压tp)

    苹果手机压tp是什么意思(iphone 压tp)

  • 京东sop商家是什么意思(京东ssp)

    京东sop商家是什么意思(京东ssp)

  • u盘文件太大不能传怎么办(u盘文件太大不能传手机怎么办)

    u盘文件太大不能传怎么办(u盘文件太大不能传手机怎么办)

  • e5和i5有什么区别(e5和i5哪个好)

    e5和i5有什么区别(e5和i5哪个好)

  • 微信为什么突然要重新登录(微信为什么突然被限制功能)

    微信为什么突然要重新登录(微信为什么突然被限制功能)

  • iphonex支持多少w快充(iphonex支持多少瓦的快充)

    iphonex支持多少w快充(iphonex支持多少瓦的快充)

  • wps怎么以文档发送(wps中的文档怎么以文件发给好友)

    wps怎么以文档发送(wps中的文档怎么以文件发给好友)

  • 手机加密dns怎么设置(手机里加密dns有什么作用)

    手机加密dns怎么设置(手机里加密dns有什么作用)

  • iphone11支持3dtouch吗(iphone11支持5g吗)

    iphone11支持3dtouch吗(iphone11支持5g吗)

  • 惠普2132打印机使用说明(惠普2132打印机安装教程)

    惠普2132打印机使用说明(惠普2132打印机安装教程)

  • oppo手机右上角的HD和1是什么(oppo手机右上角有个锁怎么去掉)

    oppo手机右上角的HD和1是什么(oppo手机右上角有个锁怎么去掉)

  • 苹果6s怎么打开多任务后台管理(苹果6s怎么打开控制中心)

    苹果6s怎么打开多任务后台管理(苹果6s怎么打开控制中心)

  • 如何取消手机号码标注(如何取消手机号搜索微信)

    如何取消手机号码标注(如何取消手机号搜索微信)

  • 抖音小眼睛特效(抖音小眼睛特效怎么弄)

    抖音小眼睛特效(抖音小眼睛特效怎么弄)

  • 下载管理器在哪

    下载管理器在哪

  • 上网速度变慢甚至打不开网页如何防止别人蹭我们的网(网速变慢了)

    上网速度变慢甚至打不开网页如何防止别人蹭我们的网(网速变慢了)

  • React 高阶组件(react高阶组件)

    React 高阶组件(react高阶组件)

  • 织梦SEO专题的制作与优化技巧(织梦建站详细教程)

    织梦SEO专题的制作与优化技巧(织梦建站详细教程)

  • 农产品进项税额抵扣最新政策
  • 建筑业跨区域预缴增值税
  • 通过法院拍卖取得的设备怎么开具发票
  • 酒店维修费计入什么费用
  • 定期定额户个人所得税怎么申报
  • 向投资者支付股利
  • 按应收账款余额计提坏账准备的会计分录
  • 个人转让著作权交什么税
  • 免税的农业企业可以抵扣专票吗
  • 出租包装物没收押金
  • 固定资产折旧属于制造费用吗
  • 没有资质的建筑公司怎样接工程
  • 零税率购房发票
  • 跨年发票能否次年入账
  • 减免税款为什么在借方
  • 税收六项减免
  • 房地产开发企业需要缴纳哪些税
  • 财务每月需要报哪些税
  • 什么样的发票需要交税
  • 现金流量的具体识别标准
  • 收款收据怎么写 样本
  • 住房公积金相关文件
  • u盘写入扇区错误
  • 在业和存续是什么经营状态
  • macbookair怎么设置屏幕
  • app制作公司开发一个app的价格
  • 银行本票结算的特点是什么
  • 建筑公司内账复杂吗
  • 广告代理费制度
  • 去年计提的费用所得税汇算清缴之前冲销就不调整吗
  • 百旺金赋开票系统客服电话
  • 加盟代理需要什么手续
  • 帝国cms如何使用
  • 企业所得税的计算公式三种
  • 下列关于纳税人发生兼营行为
  • 固定资产清理产生的费用入什么科目
  • 销售返利的账务处理购买方
  • 会计实操和实际工作一样吗
  • 公司转让注册海外公司
  • 帝国cms结合项多选
  • 累计折旧怎么做账
  • 代收电费的增值税怎么算
  • 计提提成是什么意思
  • mysql数据库排序
  • mysql和sqlserver的sql语句一样吗
  • 中小企业应交税费怎么算
  • 预收款开发票,不确认收入可以吗?
  • 清算所得税计税基础
  • 跨月的普通发票能作废吗
  • 员工出差坐火车怎么处理
  • 税费的审计
  • 已退货对方不开红字
  • 工厂厨房厨具
  • 短期借款计提利息计入什么科目
  • 存款利息收入是否缴纳增值税
  • 一个真正的企业应该具备哪些特征
  • navicat远程连接oracle
  • win7系统设备管理器其他设备有个未知设备叹号
  • xp输入法图标不显示图片
  • mac图形界面
  • win7怎么设置最佳性能
  • win7系统电脑开机密码怎么设置
  • linux中如何修改文件内容
  • 安卓闹钟软件下载
  • javascriptz
  • nodejs代码规范
  • linux curl用法
  • linux安装xen
  • js是函数式编程语言吗
  • nodejs实战教程
  • javascript的应用
  • unity3d 使用Quaternion 类实现两个简单功能
  • python爬取电视剧
  • javascript的基础类型有哪些
  • jquery控制display属性
  • First class: UI design for Android
  • 上海退休核定表两种算法
  • 纳税申报表保管期限为几年
  • 山东增值税普通发票查询
  • 退契税的时间是什么时候
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设