第二十八篇 vue - 深入组件 - 动态组件 - component
component
动态组件就是动态变化的组件,和动态样式一样,通过用户的操作来确定是什么类型的组件。动态样式是绑定:style,动态组件则是绑定:is
在 vue 中,实现 Tab 切换主要有三种方式:使用动态组件,使用 vue-router 路由,使用第三方插件。本文将详细介绍Vue动态组件
所谓动态组件就是让多个组件使用同一个挂载点,并动态切换
vue内置component组件, 配合is属性, 设置要显示的组件标签名字
is 用法
通过使用保留的 <component> 元素,动态地绑定到它的 is 特性,我们让多个组件可以使用同一个挂载点,并动态切换
根据 v-bind:is="组件名" 中的组件名去自动匹配组件,如果匹配不到则不显示
改变挂载的组件,只需要修改is指令的值即可
注意 1、is只能是动态属性 :is="组件注册后的标签名字符串或data变量" 2、不能直接拿注册标签名赋值使用
示例
<!DOCTYPE html> <html> <head> <title>Dynamic Components Example</title> <script src="https://unpkg.com/vue"></script> </head> <body> <div id="example"> <button @click="change">切换页面</button> <component :is="currentView"></component> </div> <script> const home = { template: '<div>我是主页</div>' }; const detail = { template: '<div>我是详情页</div>' }; const archive = { template: '<div>我是存档页</div>' }; new Vue({ el: '#example', components: { home, detail, archive, }, data: { index: 0, arr: ['home', 'detail', 'archive'], }, computed: { currentView() { return this.arr[this.index]; } }, methods: { change() { this.index = (++this.index) % 3; } } }) </script> </body>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!