Vue3 动态切换组件component
在 vue3 开发中 经常会遇有 动态切换组件 的需求,下面简单写个例子,当然也还有其它方法。
用 component :is= 来变换组件
<div class="IndConK Huans overH" > <!-- 正常组件 <ext-tel-status-component ></ext-tel-status-component> --> <!-- 动态组件 --> <component :is="currentTemplate"></component> </div>
component :is="currentTemplate" 其中 currentTemplate 是当前组件的名称
组件文件的位置
引入组件 部分
<script> /* 引入 组件 */ import ExtTelListComponent from '@/components/ExtTelListComponent.vue' /* 引入 组件 */ import ExtTelStatusComponent from '@/components/ExtTelStatusComponent.vue' export default { name: 'MainIndex', components: { ExtTelListComponent, ExtTelStatusComponent, }, data() { return { currentTemplate: "ExtTelStatusComponent" //当前组件 }; }, mounted() { //页面加载完成后 调用一次 显示默认组件 this.toggleTemplate('ExtTelStatusComponent'); }, methods: { //切换 组件 toggleTemplate(activeTemplate) { console.log("toggleTemplate() "+activeTemplate); this.currentTemplate = activeTemplate; }, }
通过 toggleTemplate 这个函数 将组件名称 传入 赋给 变量 currentTemplate 从而改变组件
调用方式
<div class="menuUn Huans"> <a href="javascript:;" class="menuUna flexC fl-bet Huans" @click="toggleTemplate('ExtTelStatusComponent')"><p>显示组件A</p><span>[0/5]</span></a> <a href="javascript:;" class="menuUna flexC fl-bet Huans" @click="toggleTemplate('ExtTelListComponent')"><p>显示组件B</p><span>[0/5]</span></a> </div>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)