• component 动态组件的用法


    一:前言

             标签是Vue框架自定义的标签,它的用途就是可以动态绑定我们的组件,根据数据的不同需求来更换使用不同的组件。

            在最上方的图片中,就是使用的 Element Plus 的 Tags 组件,根据点击的不同来展示不同的组件。以下是项目的目录。

    官方解释:

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

            因此 component 标签通常适用于多组件中展示其中一个的情况。可以省略很繁琐的 if 判断。减少代码的冗余性,同时提高可读性。接下来让我们看一下具体的实现吧!

    二:各文件代码

    1、三个组件的内部代码

            因为这三个组件只是测试用,所以内部代码十分简单,这里我就放在一起,没什么难度。

    1. <template>
    2. <div class="home">
    3. 这是第一个组件
    4. div>
    5. template>
    6. <template>
    7. <div class="home">
    8. 这是第二个组件
    9. div>
    10. template>
    11. <template>
    12. <div class="home">
    13. 这是第三个组件
    14. div>
    15. template>

    2、入口页面代码

            这个页面可以看到,首先我们是使用了组件,将定义的数组进行循环然后渲染成一个具有点击事件的 tab 标签。然后我们定义了一个响应变量 activeName 通过点击不同的标签给其不同的值,然后绑定在 component 上,渲染不同的组价。

    1. <template>
    2. <div class="home">
    3. <el-tabs v-model="activeName" type="card" class="demo-tabs" @tab-change="handleChange">
    4. <el-tab-pane v-for="item in check" :label="item.label" :name="item.name">
    5. <component :is="activeName">component>
    6. el-tab-pane>
    7. el-tabs>
    8. div>
    9. template>
    10. <script setup lang="ts">
    11. import componentOne from './components/componentOne.vue'
    12. import componentTwo from './components/componentTwo.vue'
    13. import componentThree from './components/componentThree.vue'
    14. import { ref } from 'vue'
    15. const check: Array = [{
    16. name: 'componentOne',
    17. label: '第一个'
    18. }, {
    19. name: 'componentTwo',
    20. label: "第二个"
    21. }, {
    22. name: 'componentThree',
    23. label: '第三个'
    24. }]
    25. const activeName = ref('componentOne')
    26. const handleChange = (name: TabPaneName) => {
    27. this.activeName = name
    28. }
    29. script>
    30. <style>
    31. .demo-tabs>.el-tabs__content {
    32. padding: 32px;
    33. color: #6b778c;
    34. font-size: 32px;
    35. font-weight: 600;
    36. }
    37. style>

    三:总结

            该标签是在项目开发中很经常使用的,通过代码量的优化可以使阅读更加通俗易懂,对于后期修改以及定位也是有很大的帮助的。通常情况下,三个及三个以上的标签需要选其一,我们就可以使用这种去判断。好啦,本文就到此为止了,希望能够对各位小伙伴有所帮助哦~

  • 相关阅读:
    强制20天内开发APP后集体被裁,技术负责人怒用公司官微发文:祝“早日倒闭”
    Nacos集群搭建
    专高六第一次项目答辩学到的知识点【未完成】
    公路中、边桩坐标计算及放样程序
    SVM-SMO算法
    dataframe应用str.contains+将多列连接成一列
    Redis环境配置
    [MAUI 项目实战] 音乐播放器(一):概述与架构
    蓝队追踪者工具TrackAttacker,以及免杀马生成工具
    Celery定时任务与异步任务
  • 原文地址:https://blog.csdn.net/c18559787293/article/details/134443418