动态组件实现tab栏切换
动态组件:在同一个挂载点,可以切换使用不同的插件
实现动态组件的步骤:
1.准备两个被切换的组件:username.vue和userinfo.vue
// username.vue
<template>
<div>
用户名:<input type="text" /> <br />
密 码:<input type="password" />
</div>
</template>
<script>
export default {};
</script>
<style>
</style>
// userinfo.vue
<template>
<div>
个人介绍:
<textarea></textarea>
</div>
</template>
<script>
export default {};
</script>
<style>
</style>
2.再准备一个user.vue文件,在此文件中写入两个切换按钮,并将两个被切换的组件引入注册使用
<template>
<div>
<button>个人信息</button> 
<button>个人简介</button>
<p>下面显示组件:</p>
<hr />
<div class="main">
</div>
</div>
</template>
<script>
import username from "../components/username.vue";
import userinfo from "../components/userinfo.vue";
export default {
components: {
username,
userinfo,
},
};
</script>
<style>
.main {
border: 1px solid pink;
width: 300px;
height: 200px;
}
</style>
3.在user.vue中准备好变量show来承载要显示的组件名
data() {
return {
show: "username",
};
},
4.在user.vue中设置挂载点<component>,使用:is属性来设置要现实的组件
<div class="main">
<component :is="show"></component>
</div>
5.在两个按钮上分别注册点击事件,来修改show的组件吗
<button @click="show = username">个人信息</button>  <button @click="show = userinfo">个人简介</button>
组件缓存:keep-alive
<div class="main">
<keep-alive>
<component :is="show"></component>
</keep-alive>
</div>
在vue内置组件,包起要频繁切换的组件
好处:不会频繁的创建和销毁组件,使页面更快地呈现
扩展:
