开发中好用的component标签

213 阅读1分钟

写在前面👏

在开发中,你是否还在用v-if来控制tab切换时展示哪个组件/页面吗?其实使用vue的内置组件component用法代码简化好多。一起来看看吧~👀

先来看一个简单的案例🤡

实现效果:点击切换组件

点击A组件展示A组件的内容

image.png

单击B组件展示B组件内容

image.png

源码

父组件

<template>
  <div>
    <h1>点击切换组件</h1>
    <div>
      <span @click="changeView('1')">组件A</span>
      <span @click="changeView('2')">组件B</span>
    </div>
    <component :is="flag === '1' ? Home:About"></component>
  </div>
</template>

<script setup>
import {ref} from 'vue'
import Home from './views/Home.vue'
import About from './views/About.vue'
let flag = ref('1')

const changeView = (val) => {
  if(val === '1'){
    flag.value = '1'
  } else {
    flag.value = '2'
  }
}

</script>

<style scoped>
span{
    margin: 10px;
  }
</style>

A组件

<template>
    <div>
        <h1>我是组件A</h1>
    </div>
</template>
<style scoped>
h1{
    color: red;
    margin-top: 30px;
}

</style>

B组件

<template>
    <div>
        <h1>我是组件B</h1>
    </div>
</template>

重点✨

component标签:它的用途是可以动态绑定我们的组件,根据数据不同更换不同的组件.

有一个is属性,is的作用就是显示指定的组件

官方说明: 渲染一个“元组件”为动态组件。依 is 的值,来决定哪个组件被渲染

想了解更多的请点这里👉 官网