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

  • 电子承兑凭证
  • 上季度忘记申报个税了
  • 砖厂开票员的工作流程
  • 金税盘如何增加税率
  • 发票抬头写错了还能改吗
  • 怎样查是否为一类银行卡
  • 税控设备抵减增值税必须当月抵减吗
  • 企业统计报表怎么写
  • 以前年度损益调整会计分录
  • 金蝶以前年度损益调整属于哪类科目
  • 境外企业在境内取得的收入所得税
  • 账务处理和税前扣除如何处理
  • 存货跌价准备转销会影响当期损益吗
  • 企业没有收入怎么办
  • 加工属于什么税收分类
  • 境外演艺经纪公司代扣代缴哪些税款?
  • 税务局开票需要带什么材料
  • 足疗发票税点
  • 增值税三个过渡期科目
  • 应税凭证和纳税凭证的区别
  • 最新土地增值税筹划
  • 固定资产小于500万一次性扣除政策
  • 个人车卖给公司可以抵税吗
  • 员工垫付差旅费 民间借贷
  • 坏账准备本期期末应有金额
  • 设置戴尔笔记本锁屏时间
  • 在Linux系统中安装了一块虚拟磁盘大小的2G
  • wim文件用什么软件打开
  • 贷款资金取现就无法追查了吗
  • 理财计算收益公式
  • monaco编辑器的自定义提示
  • 销项税和进项税抵扣的会计分录
  • 应收票据年末计息的分录
  • vue路由使用方法
  • js怎样遍历对象中的每个元素
  • 功能强大的php发展趋势
  • 库存品处理的方式
  • 货物入库会计分录怎么做
  • 工会经费按工资总额的
  • 帝国cms栏目分类
  • php框架symfony
  • xadmin配置
  • 出口销售收入计算公式
  • sqlserver并发怎么处理
  • 购买材料收到普票怎么做会计分录
  • 机票会计代理如何做
  • 盈余公积分配现金股利会影响留存收益吗
  • 向银行借的款属于什么会计要素
  • 管理费用处理的是
  • 企业的案例分析报告
  • win10最新预览版下载
  • xp系统乱了,怎么恢复
  • windows server 2016 域控
  • linux yum命令详解
  • win8系统如何恢复出厂设置
  • jquery实现
  • javascript全选反选
  • nodejs worker
  • shell中的grep怎么用
  • python 详细
  • jquery自动完成插件
  • 贝塞尔曲线生成器
  • javascript tr
  • jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
  • unity3d应用
  • 深入理解javascript特性
  • python如何安装各种库
  • android自学
  • bootstrap layer弹框
  • 有哪些推荐阅读的书
  • 税务系统运维应急预案范文
  • 山东税务申报如何网上申报
  • 通用申报表水利基金怎么填
  • 税务总局各司领导名单
  • 国家税务总局深圳税局
  • 物业管理用房如何缴纳房产税
  • 滨州税务局公务员工资
  • 湖北省税务发票
  • 电话号码公开是什么意思
  • 什么是集体约谈制
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设