vue给components动态添加组件

在Vue中,可以使用v-bind指令来动态地将组件添加到其他组件上。

首先,需要定义一个包含所有可能的子组件的数组或对象。然后,通过计算属性(computed property)根据条件选择要显示的组件。最后,使用<component>元素并结合is特性来动态地切换不同的组件。

javascript 复制代码
<!-- ParentComponent.vue -->
<template>
  <div>
    <!-- 根据条件选择要显示的组件 -->
    <component :is="currentComponent"></component>
    
    <!-- 按钮点击事件触发切换组件 -->
    <button @click="toggleComponent">Toggle Component</button>
  </div>
</template>

<script>
import ChildComponent1 from './ChildComponent1.vue'; // 导入第一个子组件
import ChildComponent2 from './ChildComponent2.vue'; // 导入第二个子组件

export default {
  components: {
    ChildComponent1,
    ChildComponent2
  },
  
  data() {
    return {
      currentComponent: 'ChildComponent1' // 默认显示第一个子组件
    };
  },
  
  methods: {
    toggleComponent() {
      this.currentComponent = (this.currentComponent === 'ChildComponent1') ? 'ChildComponent2' : 'ChildComponent1';
    }
  }
};
</script>

这样就可以根据需求动态地向ParentComponent中添加不同的子组件了。

相关推荐
Hilaku7 分钟前
为什么死磕 1px 的团队,用户体验反而更差?
前端·javascript·程序员
雪芽蓝域zzs9 分钟前
第25章:地图下钻交互(点击省份,切换到对应省份城市地图)
vue.js·echars
lichenyang45318 分钟前
鸿蒙元服务跳转 H5 太慢?从 Web 内核预热、网络预连接到骨架屏的完整优化方案
前端
aa小小27 分钟前
大屏的数据应该怎么做“实时更新“?大屏页面如果一直开着不关(比如挂了几天几夜),你觉得可能会出现什么问题,需要怎么预防?
前端·数据可视化
daols8838 分钟前
vue 甘特图组件 vxe-gantt 自动计算工期显示关键路径
vue.js·vxe-gantt
aa小小1 小时前
Proxy 响应式原理
前端·proxy
计算机魔术师1 小时前
Latent Space 访谈 TypeSafe CEO Diogo Almeida:Jev 是面向生产环境的 System One 模型而非万能 God 模型
前端
—Qeyser1 小时前
Element Plus 安装与配置指南 (Vue 3 + Vite + TS)
vue.js
雪芽蓝域zzs1 小时前
第19章:ECharts 组合图(折线 + 柱状混合图,双 Y 轴)
vue.js·echars