动态组件实现tab栏切换

动态组件:在同一个挂载点,可以切换使用不同的插件

实现动态组件的步骤:

1.准备两个被切换的组件:username.vue和userinfo.vue

// username.vue
<template>
  <div>
    用户名:<input type="text" /> <br />
    密&emsp;码:<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>&ensp;
    <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>&ensp;
<button @click="show = userinfo">个人简介</button>

组件缓存:keep-alive

<div class="main">
      <keep-alive>
        <component :is="show"></component>
      </keep-alive>
</div>

在vue内置组件,包起要频繁切换的组件

好处:不会频繁的创建和销毁组件,使页面更快地呈现

扩展:

&nbsp; 不换行空格,按下space键产生的空格 &ensp; 半角空格,等同于字体度的一半,1/2中文宽度 &emsp; 全角空格,占据的宽度正好是1个中文宽度  &thinsp; 窄空格,它是em之六分之一宽 &zwnj; 零宽不连字,是一个不打印字符,抑制文本连字 &zwj; 零宽连字,抑制文本连字
HTML中的6种空格标记
经验分享 程序员 微信小程序 职场和发展