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中添加不同的子组件了。

相关推荐
inferno几秒前
CSS 基础(第二部分)
前端·css
BD_Marathon3 分钟前
Router_路由传参
前端·javascript·vue.js
闲云一鹤10 分钟前
Cesium 去掉默认瓦片和地形,解决网络不好时地图加载缓慢的问题
前端·cesium
Dreamcatcher_AC12 分钟前
前端面试高频13问
前端·javascript·vue.js
AI陪跑12 分钟前
深入剖析:GrapesJS 中 addStyle() 导致拖放失效的问题
前端·javascript·react.js
登山人在路上13 分钟前
Vue中导出和导入
前端·javascript·vue.js
消失的旧时光-194316 分钟前
Flutter 路由从 Navigator 到 go_router:嵌套路由 / 登录守卫 / 深链一次讲透
前端·javascript·网络
掘金酱20 分钟前
🏆2025 AI/Vibe Coding 对我的影响 | 年终技术征文
前端·人工智能·后端
成为大佬先秃头22 分钟前
渐进式JavaScript框架:Vue
开发语言·javascript·vue.js
智算菩萨22 分钟前
【Python基础】字典(Dictionary):AI的“键值对”信息存储的基石
前端·人工智能·python