⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

Vue 动态组件

使用 <component :is> 实现组件动态切换,构建灵活的多视图界面。 · 难度:入门 · +15XP

动态组件是什么?

Vue 的 <component> 元素配合 :is 属性可以根据变量的值动态渲染不同的组件。这是实现标签页、向导步骤、多状态视图的核心技术。

基本用法

<component :is="currentComponent"></component>

currentComponent 可以是注册的组件名称(字符串)或组件选项对象。

切换示例

<button @click="current = 'TabA'">Tab A</button>
<button @click="current = 'TabB'">Tab B</button>
<keep-alive>
  <component :is="current"></component>
</keep-alive>

异步动态组件

动态组件也可以配合 defineAsyncComponent 实现懒加载。

const TabA = defineAsyncComponent(() => import('./TabA.vue'))
const TabB = defineAsyncComponent(() => import('./TabB.vue'))
场景推荐搭配
保持状态使用 <keep-alive> 包裹
懒加载组件定义为异步组件
过渡动画使用 <transition> 包裹

练习提示

1. 创建两个简单组件:Home 和 About。
2. 使用动态组件在两者间切换,并添加 keep-alive 保留输入状态。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 125 篇
0 完成
🔥 0