Vue3:作用域插槽

news2024/11/16 13:49:36

目录

一.性质

1.数据传递性

2.自定义显示方式

3.复用性

4.解耦性

二.作用

1.提高灵活性

2.增强可维护性

3.简化数据流

4.提升用户体验

三.使用

1.父组件

2.子组件

四.代码

1.父组件代码

2.子组件代码

五.效果


作用域插槽(Scoped Slots)是Vue.js中一种强大的功能,它允许父组件向子组件传递数据,并在子组件内部使用这些数据。

一.性质

1.数据传递性

作用域插槽允许父组件将数据传递给子组件,使得子组件能够根据这些数据进行动态渲染。

2.自定义显示方式

父组件不仅传递数据,还可以定义数据的显示方式,从而在不影响子组件逻辑的情况下,控制内容的展示形式。

3.复用性

通过作用域插槽,子组件可以更加灵活地适应不同的使用场景,提高了组件的复用性。

4.解耦性

作用域插槽有助于实现父子组件之间的解耦,使得子组件不需要关心数据的来源和处理逻辑,只需关注如何展示数据。

二.作用

1.提高灵活性

作用域插槽使得子组件可以根据接收到的数据动态调整内容,增加了界面的灵活性。

2.增强可维护性

由于作用域插槽的使用,子组件变得更加通用,减少了针对特定情况编写的代码,从而提高了代码的可维护性。

3.简化数据流

通过作用域插槽,可以避免在多个层级之间传递props,简化了数据流的处理。

4.提升用户体验

作用域插槽允许开发者根据具体需求定制组件的行为,从而提供更加丰富和个性化的用户体验。

三.使用

1.父组件

1.无序排列显示学生信息。

2.有序排列显示老师信息。

3.显示视频。

2.子组件

1.插槽的作用是允许子组件向父组件传递内容。

2.创建响印式老师学生视频对象。

四.代码

1.父组件代码

<template>
  <div class="grandfather">
    <Father >
      <template v-slot="params">
        <ul>
          <li v-for="student in params.student"  :key="student.name">{{ student.name }}</li>
        </ul>
      </template>

    </Father>
      
    <Father >
      <template v-slot="params">
        <ol>
          <li v-for="teacher in params.teacher"  :key="teacher.name">{{ teacher.name }}</li>
        </ol>
      </template>
    </Father>

    <Father>
      <template v-slot="params">
        <ol>
          <video :src="params.videoUrl" controls></video>
        </ol>
      </template>
    </Father>
  </div>
 </template>
  
 <script setup lang="ts" name="Father">
  import Father from "./Father.vue";

 </script>


<style scoped>
.grandfather{
    background-color: skyblue;
}
h4{
    margin-left: 20px;
    font-size: 20px;
}

</style>




2.子组件代码

<template>
    <div class="father">
        <slot :student="student" :teacher="teacher" :videoUrl="videoUrl"></slot>
    </div>
</template>

<script setup lang="ts" name="father">
import { reactive , ref } from 'vue';

let student = reactive([
    {id:1,name:'小明',score:80},
    {id:2,name:'小红',score:100},
    {id:3,name:'小蓝',score:90},
    {id:4,name:'小菲',score:60}
  ])

  let teacher = reactive([
    {id:1,name:'张老师'},
    {id:2,name:'李老师'},
    {id:3,name:'王老师'}
  ])

  let videoUrl = ref('http://vfx.mtime.cn/Video/2021/07/10/mp4/210710095541348171.mp4')

</script>


<style scoped>
.father{
    background-color: orange;
}
h4{
    margin-left: 20px;
    font-size: 20px;
}
button{
  margin-left: 20xp;
  width: 200px;
  height: 40px;
}

</style>

五.效果

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一个很小的系统为什么负载那么高?

最近帮朋友优化一个系统&#xff0c;基本的情况如下&#xff1a;虚拟机&#xff0c;centos7.9&#xff0c;oracle 11.2.0.4&#xff0c;MES系统&#xff0c;数据量<50GB,日常session数不足100&#xff1b;按说这应该是一个负载很低的系统&#xff0c;但是用户却反映系统CPU经…

jQuery——jQuery的基本使用

1、使用 jQuery 核心函数&#xff1a;$ / jQuery 2、使用 jQuery 核心对象&#xff1a;执行 $&#xff08;&#xff09;返回的对象 3、引入 jQuery 函数库&#xff1a;可以本地引入&#xff08;不用联网&#xff09;&#xff0c;也可以远程引入&#xff08;需联网&#xff09…

GIS开发常用的开源地图数据框架有哪些?

学完Web前端开发&#xff0c;还需要掌握哪些内容&#xff1f;本篇文章再给大家主要讲讲针对WebGIS开发的地图和可视化数据库。 Echarts ECharts是一个使用 JavaScript 实现的开源可视化库。它可以流畅的运行在 PC 和移动设备上&#xff0c;兼容当前绝大部分浏览器&#xff08;…

OpenHarmony(鸿蒙南向)——平台驱动指南【DAC】

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ 持续更新中…… 概述 功能简介 DAC&#xff08;Digital to Analog Converter&…

分享课程:VUE数据可视化教程

在当今这个数据驱动的世界中&#xff0c;数据可视化已经成为了一种至关重要的工具&#xff0c;它帮助我们理解复杂的数据集&#xff0c;发现模式、趋势和异常。数据可视化不仅仅是将数字转换成图表&#xff0c;它是一种将数据转化为洞察力的艺术。 1.什么是数据可视化&#xf…

2021世界人工智能大会召开 百度展示量子技术影响力

姓 名&#xff1a;王芷若 学 号&#xff1a;19020100180 学 院&#xff1a;电子工程学院 转载自&#xff1a;钥成网 原文链接&#xff1a; https://baijiahao.baidu.com/s?id1704906954970597725&wfrspider&forpc&searchword2021%E4%B8%9…

Windows (rust) vulkan 画一个三角形: 窗口创建与渲染初始化

在每个平台, 每前进一步, 都会出现许多预料之外的困难 (大坑). 本文介绍在 Windows 操作系统之中, 使用 win32 API 创建窗口, 并使用 vulkano (rust) 初始化 vulkan, 绘制一个三角形. 这里是 穷人小水滴, 专注于 穷人友好型 低成本技术. (本文为 63 号作品. ) 相关文章: 《r…

企业微信聊天记录怎么查看,会话存档的妙用!

在企业微信中&#xff0c;老板是否可以任意查看任何人的聊天记录取决于是否开通了会话存档功能以及你是否在存档的成员范围内。以下是详细解释&#xff1a; 如果企业开通了会话存档功能&#xff0c;并且在存档的成员范围内&#xff0c;老板可以看到该成员的聊天记录。 存档的…

点餐小程序实战教程11数据源设计

目录 1 设计图2 创建数据源2.1 菜品分类2.2 菜品表 3 创建管理应用4 设置上架下架功能总结 我们用了10篇讲解了一下用户管理及权限设计&#xff0c;有了用户和权限相当于有了骨架&#xff0c;但是我们还需要有良好的设计来确保我们的小程序的开发顺利进行。 在数据源的设计中&a…

光伏开发:一分钟生成光伏项目报告

传统光伏项目报告的编制往往需要收集大量数据、进行复杂计算与分析&#xff0c;耗时长且易受人为因素影响。自动生成光伏项目报告&#xff0c;依托大数据、云计算、人工智能等先进信息技术&#xff0c;实现了对光伏项目关键参数的快速分析、评估与预测。 一、核心功能与流程 1…

Python学习笔记--BeeWare跨平台打包方案2

文章目录 1. 多文件开发支持 首先贴上官方的地址&#xff1a; BeeWare 教程 其中的安装和初始化过程在上一片有描述&#xff0c;这张介绍一些基础使用&#xff1a; 1. 多文件开发支持 通常一个工程下我们通常会分为多个 app进行开发&#xff0c;例如如下目录&#xff1a; 如…

vue3/Element-Plus/路由的使用

我们来实现一个简单的二级路由 1.准备主页和要配置的组件 主页面 <template><!-- 加载配置路由 --><RouterView></RouterView> </template><style scoped></style>组件1 <template><div>考试组件</div> </t…

在 Docker 中部署无头 Chrome:在 Browserless 中运行

什么是 Browserless&#xff1f; Browserless 是一款基于云的浏览器解决方案&#xff0c;旨在实现高效的浏览器自动化、网页抓取和测试。 它利用 Nstbrowser 的指纹库&#xff0c;实现随机指纹切换&#xff0c;确保流畅的数据收集和自动化。得益于其强大的云基础设施&#xf…

ROS理论与实践学习笔记——2 ROS通信机制之话题通信

话题通信是ROS中使用频率最高的一种通信模式&#xff0c;话题通信是基于发布订阅模式的&#xff0c;也即:一个节点发布消息&#xff0c;另一个节点订阅该消息&#xff0c;用于不断更新的、少逻辑处理的数据传输场景。 1.1 话题通信理论模 话题通信实现模型是比较复杂的&#x…

qm 命令:管理PVE虚拟机

一、命令简介 ​qm​ 是 Proxmox Virtual Environment (PVE) 中用于管理虚拟机的命令行工具。它允许用户创建、启动、停止、删除虚拟机&#xff0c;以及管理虚拟机的配置和状态。 ‍ 介绍 PVE Proxmox Virtual Environment (PVE) 是一个开源的虚拟化管理平台&#xff0c;专…

Java 注解详解:从基础到自定义及解析

注解&#xff1a;概述 目标 能够理解注解在程序中的作用 路径 什么是注解注解的作用 注解 什么是注解&#xff1f; 注解(Annotation)也称为元数据&#xff0c;是一种代码级别的说明注解是JDK1.5版本引入的一个特性&#xff0c;和类、接口是在同一个层次注解可以声明在包…

Linux系统--五种IO模型

1、简介 Linux IO 模型根据实现的功能可以划分为为阻塞 IO、 非阻塞 IO、 信号驱动 IO&#xff0c; IO 多路复用和异 步 IO。 根据等待 IO 的执行结果进行划分&#xff0c; 前四个 IO 模型又被称为同步 IO&#xff0c;如下图&#xff1a; 2、详细介绍 2.1 阻塞IO 在阻塞IO模…

Docker容器常用命令详解

Docker容器常用命令&#xff0c;我们经常使用&#xff0c;又经常忘记&#xff0c;今天我们系统分析一下&#xff1a; 1、查看运行的进程 #列出所有运行的容器 sudo docker ps#列出所有容器&#xff0c;包括运行和停止的 docker ps -a #列出所有容器&#xff0c;并过滤 docker…

大数据Hologres(一):Hologres 简单介绍

文章目录 Hologres 简单介绍 一、什么是实时数仓 Hologres 二、产品优势 1、专注实时场景 2、亚秒级交互式分析 3、统一数据服务出口 4、开放生态 5、MaxCompute查询加速 6、计算存储分离架构 三、应用场景 搭建实时数仓 四、产品架构 1、Shared Disk/Storage &am…

深入探索linux的零拷贝(zero-copy):底层技术原理与代码实现

前言 I/O 或输入/输出通常意味着中央处理器(CPU) 与外部设备&#xff08;如磁盘、鼠标、键盘等&#xff09;之间的读写。在深入研究零拷贝之前&#xff0c;有必要指出磁盘 I/O&#xff08;包括磁盘设备和其他块导向设备&#xff09;和网络 I/O之间的区别。 磁盘 I/O 的常用接…