位置: 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项目)

  • 税务稽查最坏结果不知情人员怎么办
  • 如何理解中医的补
  • 未达到起征点的增值税会计处理
  • 办公楼租金如何定价
  • 资本化利息支出在哪个科目
  • 购房尾款发票什么时候开
  • 预付账款借方怎么处理
  • 公司租车要交什么费用
  • 无形资产使用费计入什么科目
  • 出口产品报关单上保险费与实际不符可以丿退税吗
  • 红字抵扣怎么开
  • 税负几个点
  • 园林绿化公司前景如何
  • 小规模纳税人出售不动产征收率
  • 异地施工预缴税款会计分录
  • 增值税电子普通发票可以抵扣吗
  • 收到汽车保险赔款怎么做账
  • 取得免税农产品进项税转出
  • 投资款怎么做会计科目
  • 小规模补缴增值税怎么算
  • 公司处置车辆税金怎么算
  • 已发货未开票的货物需要结转成本吗
  • 无法卸载系统更新 backup
  • Win11文件资源管理器将更新
  • php常用的开发工具
  • windows闹钟
  • 个人所得税计提缴纳会计分录
  • 公司转让使用过的汽车要交哪些税费
  • win10电脑电源选项怎样设置最好
  • 没有实际出资的股东怎么退出
  • php多维数组合并相同key
  • eclipse中创建webgis项目
  • php的运算符主要包括哪些?
  • php fetchall
  • 辅导期纳税人注意事项
  • 在暴风雪中翻译
  • php二维数组foreach
  • smart 变量表
  • node最新版本
  • chronyc配置
  • route命令的作用
  • 织梦怎么用模板建站
  • 教育费附加免税需要计提吗?
  • 普通发票作废算额度吗
  • 受托代销的分录
  • 增值税申报销项发票采集少了怎么办
  • 企业员工年终奖仲裁
  • dict在python中的作用
  • 本年利润借方余额是什么意思呢
  • 银行手续费未开发票前计入什么科目
  • 应付职工薪酬的含义
  • 固定资产的核算内容包括
  • 预付账款没有收到货怎么处理
  • 逾期未认证的增值税发票处理办法
  • 实物投资需要缴纳增值税吗
  • 产品质量问题扣款账务处理
  • 补缴上年度所得税的会计分录
  • 被法院扣的钱怎么又退回来了
  • 一次性收取的房租如何做账
  • 购入固定资产的增值税计入成本吗
  • 去年的增值税专用发票可以重开吗
  • 银行扣掉的手续费怎么算
  • a公司刚刚执行了一个采购项目
  • 劳务派遣服务怎么做会计分录
  • 商业承兑汇票是什么
  • 公司委托公司收款范本
  • xp系统磁盘检查进不去
  • win8.1 win7
  • 微软补丁发布时间
  • shell中数组如何定义
  • 批处理自动关机命令
  • 安卓wifi已连接不可上网设置
  • python快速上手 自动化
  • unity项目流程
  • dos help命令
  • javascript indexOf方法、lastIndexOf 方法和substring 方法
  • 安卓手机图片缓存在哪
  • 支付给境外的特许权使用费
  • 广东地税电话客服电话
  • 地税局和税务局有什么区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设