当前位置: 首页 > news >正文

Vue3 根据相对路径加载vue组件

一、设置动态组件加载器


1、"DynamicFormLoader.vue"

<template><div><component :is="formComponent" v-if="formComponent" /></div>
</template><script setup>
import { ref, watch } from 'vue';
import { defineProps } from 'vue';// 定义组件属性,要求必须提供一个字符串类型的"path"属性
const props = defineProps({path: {type: String,required: true}
});// 使用ref创建一个名为formComponent的引用,用于存储表单组件实例
const formComponent = ref(null);// 监听props中的"path"属性的变化,当"path"变化时,动态导入相应的表单组件
watch(() => props.path, async (newPath) => {// 当新的路径存在时,尝试导入对应的组件if (newPath) {try {// 动态导入位于@/components/forms/目录下且文件名与 newPath 相同的 Vue 组件const component = await import(`/${newPath}`);// 将导入的组件赋值给formComponent引用formComponent.value = component.default;} catch (error) {// 如果导入失败,打印错误信息并将formComponent设为nullconsole.error(`组件导入失败: ${newPath}`, error);formComponent.value = null;}}
}, { immediate: true });</script>

二、父组件


<DynamicFormLoader :path="loadedFormPath" />

 在需要的地方引入这个组件就可以了,如果想要通过相对路径的方式加载对应的vue文件只需要,对loadedFormPath 进行赋值即可

子组件的路径:src/views/form/childen.vue

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • PostgreSQL 中如何处理数据的并发更新冲突解决?
  • Git 操作总结
  • 移动应用:商城购物类,是最常见的,想出彩或许就差灵犀一指
  • 插入排序算法(C语言版)
  • HTML5使用<progress>进度条、<meter>刻度条
  • 如何用 Python 绕过 cloudflare(5秒盾) 抓取数据:也不是很难嘛!
  • 红日靶场----(三)漏洞利用
  • Mac平台虚拟机 Parallels Desktop v19.4.1,支持M1/M2/M3芯片组
  • LVS-DR负载均衡
  • gpt-4o看图说话-根据图片回答问题
  • mipi协议中的calibration和scramble模式
  • 数据结构第18节 散列表 - 应用
  • 羊大师:暑期不“胖”秘籍:羊奶滋养,细嚼慢咽是关键!
  • 品牌策划学习资源全攻略:从入门到精通的推荐清单!
  • echarts 中国地图json文件
  • 【译】JS基础算法脚本:字符串结尾
  • ES6核心特性
  • javascript 哈希表
  • javascript数组去重/查找/插入/删除
  • js ES6 求数组的交集,并集,还有差集
  • js 实现textarea输入字数提示
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • XML已死 ?
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 前端存储 - localStorage
  • 前端面试之闭包
  • 前端学习笔记之观察者模式
  • 携程小程序初体验
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 正则表达式
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (04)odoo视图操作
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (第61天)多租户架构(CDB/PDB)
  • (四) Graphivz 颜色选择
  • (新)网络工程师考点串讲与真题详解
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • ***原理与防范
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET 4.0中的泛型协变和反变
  • .NET 设计一套高性能的弱事件机制
  • .NET简谈设计模式之(单件模式)
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .NET中winform传递参数至Url并获得返回值或文件
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • @component注解的分类
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @PreAuthorize注解
  • @RequestBody与@RequestParam:Spring MVC中的参数接收差异解析
  • [ 网络基础篇 ] MAP 迈普交换机常用命令详解