Vue2-动态组件案例

1.component介绍

说明:

  • Type: string | ComponentDefinition | ComponentConstructor

  • Explanation:

    • String: 如果你传递一个字符串给 is,它会被视为组件的名称,用于动态地渲染不同类型的组件。这是一个在运行时动态切换组件类型的常见用例。
    • ComponentDefinition: 你也可以传递组件定义对象,这是一个包含组件选项的对象。
    • ComponentConstructor: 可以传递组件的构造函数。

2.is写法

2.1 is

说明:加载单个组件直接可以不加:

<component is="DynamicMorning"></component>

组件 

<script>
export default {
  name: "morning"
}
</script>

<template>
<div>我是早上组件</div>
</template>

<style scoped>

</style>

2.2 :is 

说明:动态加载组件写法

    <template v-for="item in DynamicComponent">
      <component :is="item.type"></component>
    </template>

2.3源码

<script>
import Dynamic from "@/components/Dynamic/index.vue";
import DynamicMorning  from "@/views/Dynamic/morning.vue";
import DynamicAfternoon from "@/views/Dynamic/afternoon.vue";
import DynamicEvening from "@/views/Dynamic/evening.vue";
export default {
  name: "index",
  components: {
    Dynamic,
    DynamicMorning,
    DynamicAfternoon,
    DynamicEvening
  },
  data() {
    return {
      // 组件数组
      componentArr: [
        {
          id: 1,
          type: 'Morning'
        }, {
          id: 2,
          type: 'Afternoon'
        }, {
          id: 3,
          type: 'Evening'
        }
      ]
    }
  },
  computed:{
    // map遍历同时生成组件名字(类型是个数组)
    DynamicComponent(){
      return  this.componentArr.map(item=>{
        return {
          ...item,
          type:'Dynamic'+item.type
        }
      })

    }
  }
}
</script>

<template>
  <div>
    <h1>我是动态组件父组件</h1>
    <template v-for="item in DynamicComponent">
      <component :is="item.type"></component>
    </template>
  </div>
</template>

<style scoped>

</style>

 

3.源码

<script>
import Dynamic from "@/components/Dynamic/index.vue";
import DynamicMorning from "@/views/Dynamic/morning.vue";
import DynamicAfternoon from "@/views/Dynamic/afternoon.vue";
import DynamicEvening from "@/views/Dynamic/evening.vue";

export default {
  name: "index",
  components: {
    Dynamic,
    DynamicMorning,
    DynamicAfternoon,
    DynamicEvening
  },
  data() {
    return {
      // 组件数组
      componentArr: [
        {
          id: 1,
          type: 'Morning'
        }, {
          id: 2,
          type: 'Afternoon'
        }, {
          id: 3,
          type: 'Evening'
        }
      ]
    }
  },
  computed: {
    // map遍历同时生成组件名字(类型是个数组)
    DynamicComponent() {
      return this.componentArr.map(item => {
        return {
          ...item,
          type: 'Dynamic' + item.type
        }
      })

    }
  }
}
</script>

<template>
  <div>
    <h1>我是动态组件父组件</h1>
    <template v-for="item in DynamicComponent">
      <component :is="item.type"></component>
    </template>
    <!--    <component is="DynamicMorning"></component>-->
  </div>
</template>

<style scoped>

</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/252972.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机组成原理学习(输入输出系统)

目录 输入输出系统&#xff08;i/o系统&#xff09; 一.现代计算机的结构 二.常见的&#xff08;I/O设备或者是外部设备&#xff09; ​ 三.主机如何与I/O设备进行交互 四.I/O控制方式简介 五.I/O系统的基本组成 输入输出系统&#xff08;i/o系统&#xff09; 一.现代计算…

嵌入式开发中的总线与时钟

总线 AHB总线 AHB的全称是"Advanced High-performance Bus",中文翻译就是"高级高性能总线"。这是一种在计算机系统中用于连接不同硬件组件的总线架构,它可以帮助这些组件之间高效地传输数据和信息。这个总线架构通常用于处理速度较快且对性能要求较高的…

VAR模型

VAR&#xff08;Vector Autoregression&#xff09;模型是一种用于时间序列分析的统计模型&#xff0c;它可以描述多个变量之间的相互关系和动态演化。VAR模型最初是由Sims&#xff08;1980&#xff09;提出的&#xff0c;广泛应用于宏观经济学、金融领域以及其他时间序列数据分…

嵌入式培训-数据结构-day23-线性表

线性表 线性表是包含若干数据元素的一个线性序列 记为&#xff1a; L(a0, ...... ai-1, ai, ai1 ...... an-1) L为表名&#xff0c;ai (0≤i≤n-1)为数据元素&#xff1b; n为表长,n>0 时&#xff0c;线性表L为非空表&#xff0c;否则为空表。 线性表L可用二元组形式描述…

Python接口测试 requests.post方法中data与json参数区别

引言 requests.post主要参数是data与json&#xff0c;这两者使用是有区别的&#xff0c;下面我详情的介绍一下使用方法。 Requests参数 1. 先可以看一下requests的源码&#xff1a; def post(url, dataNone, jsonNone, **kwargs):r"""Sends a POST request.…

缓存击穿的原因和解决方案

缓存击穿 原因&#xff1a;一个被高并发访问并且缓存重建业务较复杂的key突然失效了&#xff0c;无数的请求访问会在瞬间给数据库带来巨大的冲击 解决方案 1.互斥锁 优点 没有额外的内存消耗保证一致性实现简单 缺点 线程需要等待&#xff0c;性能受影响可能有死锁风险 …

Frontier ,MDPI T3系列,植物科学领域高质量期刊分级目录发布!

公众号&#xff1a;生信漫谈&#xff0c;获取最新科研信息&#xff01; Frontier &#xff0c;MDPI T3系列&#xff0c;植物科学领域高质量期刊分级目录发布&#xff01;https://mp.weixin.qq.com/s/ukbjIgdyaza7LmKmZmy5bw 2023年3月31日&#xff0c;中国科学技术大学科研部…

Linux 定时删除过期文件

需求说明 每日凌晨0点定时删除/temp目录下的所有一个月未被访问的文件。 脚本实现 linux 终端输入crontab -e&#xff0c;添加定时任务脚本命令 [rootlocalhost ~]# crontab -e在文件末尾追加 0 0 * * * find /temp -atime 30 -exec rm -rf {} \;参数说明 命令格式&#…

Pandas-DataFtame的索引与切片(第3讲)

Pandas-DataFtame的索引与切片(第3讲)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…

Redis与MySQL双写一致性如何保证?

前言 四月份的时候&#xff0c;有位好朋友去美团面试。他说&#xff0c;被问到Redis与MySQL双写一致性如何保证&#xff1f;这道题其实就是在问缓存和数据库在双写场景下&#xff0c;一致性是如何保证的&#xff1f;本文将跟大家一起来探讨如何回答这个问题。 谈谈一致性 一致…

Modbus转Profinet网关使用方法

Modbus转Profinet网关&#xff08;XD-MDPN100/200&#xff09;是用于将Modbus协议和Profinet协议进行转换并进行通迅的设备。Modbus转Profinet网关&#xff08;XD-MDPN100/200&#xff09;无论是新项目还是改造项目都可轻松配置完成通迅互联。 正确的安装和配置对于确保设备的正…

【SpringBoot零基础入门到项目实战①】解锁现代Java开发之门:深度探究Spring Boot的背景、目标及选择理由

文章目录 引言Spring Boot的背景和目标背景目标 为什么选择Spring Boot1. 简化配置2. 内嵌式容器3. 生态系统支持4. 大量的Starter5. 广泛的社区支持6. 适用于微服务架构7. 丰富的扩展机制 实例演示创建一个简单的Spring Boot应用 拓展与深入学习1. Spring Boot Actuator2. Spr…

UE5 C++(三)— 基本用法(生命周期、日志、基础变量)

文章目录 生命周期日志打印Outlog打印屏幕打印 基础变量类型FString、FName 和 FText&#xff0c;三者之间的区别 基础数据类型打印 忘记说了每次在Vscode修改后C脚本后&#xff0c;需要编译一下脚本&#xff0c;为了方便我是点击这里编译脚本 生命周期 Actor 生命周期官方文档…

菜鸟学习日记(python)——匿名函数

Python 使用 lambda 来创建匿名函数。 lambda 函数是一种小型、匿名的内联函数&#xff0c;它可以具有任意数量的参数&#xff0c;但只能有一个表达式。 匿名函数的一般格式如下&#xff1a; lambda 参数列表:表达式 表达式用于计算并返回函数结果 lambda 函数通常用于编写…

msvcp140.dll丢失怎样修复?全面分析msvcp140.dll的修复方法

在执行特定程序时&#xff0c;有可能遭遇msvcp140.dll文件遗失的困扰&#xff0c;此时该如何处理呢&#xff1f;此次将为您讲述面临此类问题的有效解决方案&#xff0c;涉及到多种修复方法&#xff0c;其中包括利用DLL修复工具进行操作。您可依据个人需求选择相应的修复方式&am…

关于多重背包的笔记

多重背包可以看作01背包的拓展&#xff0c; 01背包是选或者不选。多重背包是选0个一直到选s个。 for (int i 1; i < n; i) {for (int j m; j > w[i]; --j){f[j] max(f[j], f[j - 1*w[i]] 1*v[i], f[j - 2*w[i]] 2*v[i],...f[j - s*w[i]] s*v[i]);} } 由上述伪代码…

Python 爬虫之简单的爬虫(二)

爬取百度热搜榜 文章目录 爬取百度热搜榜前言一、展示哪些东西二、基本流程三、前期数据获取1.引入库2.请求解析获取 四、后期数据处理1.获取保存 总结 前言 每次打开浏览器&#xff0c;我基本上都会看一下百度热搜榜。这篇我就写一下如何获取百度的热搜榜信息吧。 如果到最后…

v851s ssh搭建与使用

ssh 概述: 1. 用来远程登录的一种安全通道协议(常用于linux 、UNIX中); 2. 分为服务端和客户端: 1)服务端即openSSH ,一般属于目标开发板(linux中配置文件路径/etc/ssh/sshd_config); 2)客户端即登录端,常用工具:sercureCRT 、MobaXterm 、Putty等; 1. ssh 服务…

六:爬虫-数据解析之BeautifulSoup4

六&#xff1a;bs4简介 基本概念&#xff1a; 简单来说&#xff0c;Beautiful Soup是python的一个库&#xff0c;最主要的功能是从网页抓取数据官方解释如下&#xff1a; Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。 它是一个工具箱…

波奇学Linux:进程终止

写时拷贝底层原理图 子进程谁先运行&#xff0c;由调度器决定 进程退出场景 代码运行完毕&#xff0c;结果正确&#xff1a;有返回值&#xff0c;返回0 代码运行完毕&#xff0c;结果不正确&#xff1a;有返回值&#xff0c;返回非0 代码异常终止。没有返回值 return 0的…
最新文章