问题描述在开发中经常会用到tab切换场景。当我们需要实现这种效果的时候,往往会想到以下几种方式来实现这种效果。方法一使用display:none;控制dom元素的显示和隐藏。这样就实现了两个tab的显示和隐藏。但是,如果有三四个选项卡需要切换,这种方法不可取。方法二在vue中使用命令v-if或者v-show来实现。这个方法可以实现,但是代码写的不太优雅。试想一下,一个.vue文件中出现大量的v-if是什么效果?而使用v-if必须要声明很多变量以供识别。所以这不是一个很好的解决方案。方法三在iview中使用elementui或tab切换组件。这个方法也可以,就是有时候需要/deep/改变样式,有点麻烦。笔者相信使用vue的动态组件来实现tabs的切换效果会更加方便。vue的动态组件是什么?vue的动态组件本质上就是一个组件。一般来说,一个组件就是一个带有js逻辑的UI视图层。所谓动态组件,就是我们可以根据某些条件,动态地控制那个组件在页面某部分的具体显示。这有点像标签切换。应用场景描述需求效果图其实很简单,就是tab切换的效果。当然,在实际开发中,tab的样式效果可能会稍微复杂一点。实现步骤第一步(新建组件,导入注册)首先在components文件夹下定义四个.vue文件,作为tab切换呈现的内容部分,导入后即可使用。新建导入并注册从“./components/one”导入一个;从“./components/two”导入两个;从“./components/three”导入三个;从“./components/four”导入四个;components:{one,two,three,four,},第二步(布局,把tab点击的label放在最上面,下面放component渲染对应的内容)
