vue3中 slot使用

默认插槽:

这是最基本的插槽类型,当没有指定 name 属性时,插槽是默认插槽。

子组件:

<template>
  <div class="child">
    <h2>子组件内容</h2>
    <slot></slot> <!-- 默认插槽,插入父组件传递的内容 -->
  </div>
</template>

父组件:

<template>
  <ChildComponent>
    <p>这是插入到默认插槽的内容</p>
  </ChildComponent>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: { ChildComponent }
};
</script>

具名插槽:

具名插槽允许在组件中定义多个插槽,并在父组件中指定每个插槽的内容。

  • 子组件 ChildComponent 定义了两个具名插槽:headerfooter
  • 父组件通过 <template #header><template #footer> 向这些具名插槽传递内容。

子组件:

<template>
  <div class="child">
    <h2>子组件内容</h2>
    <slot name="header"></slot> <!-- 具名插槽 "header" -->
    <slot name="footer"></slot> <!-- 具名插槽 "footer" -->
  </div>
</template>

父组件:

<template>
  <ChildComponent>
    <template #header>
      <h3>这是插入到 header 插槽的内容</h3>
    </template>
    <template #footer>
      <p>这是插入到 footer 插槽的内容</p>
    </template>
  </ChildComponent>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: { ChildComponent }
};
</script>

作用域插槽:

作用域插槽允许子组件将数据传递给父组件,并由父组件决定如何渲染这些数据。

  • 子组件 ChildComponent 使用作用域插槽向父组件传递 user 数据。
  • 父组件通过解构 { user } 接收并使用这些数据来渲染内容。

子组件:

<template>
  <div class="child">
    <slot :user="user"></slot> <!-- 作用域插槽,传递 `user` 数据 -->
  </div>
</template>

<script>
export default {
  data() {
    return {
      user: { name: 'Alice', age: 25 }
    };
  }
};
</script>

父组件:

<template>
  <ChildComponent>
    <template #default="{ user }"> <!-- 接收子组件传递的 `user` 数据 -->
      <p>用户名: {{ user.name }}</p>
      <p>用户年龄: {{ user.age }}</p>
    </template>
  </ChildComponent>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: { ChildComponent }
};
</script>

动态插槽名:

动态插槽名允许根据运行时条件来决定使用哪个插槽。

  • 子组件 ChildComponent 接收一个 dynamicSlot 属性,动态决定使用哪个插槽。
  • 父组件可以通过改变 currentSlot 的值来切换显示的内容。

子组件:

<template>
  <div class="child">
    <slot :name="dynamicSlot"></slot> <!-- 动态插槽名 -->
  </div>
</template>

<script>
export default {
  props: ['dynamicSlot']
};
</script>

父组件:

<template>
  <ChildComponent :dynamicSlot="currentSlot">
    <template #slot1>
      <p>这是 slot1 的内容</p>
    </template>
    <template #slot2>
      <p>这是 slot2 的内容</p>
    </template>
  </ChildComponent>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: { ChildComponent },
  data() {
    return {
      currentSlot: 'slot1' // 可以根据条件变更为 'slot2'
    };
  }
};
</script>

插槽默认类容:

如果父组件不提供内容,插槽可以显示默认内容。

  • 如果父组件没有向 ChildComponent 的默认插槽传递任何内容,那么子组件将显示默认内容 “这是插槽的默认内容”。

子组件:

<template>
  <div class="child">
    <slot>这是插槽的默认内容</slot> <!-- 默认内容 -->
  </div>
</template>

父组件:

<template>
  <ChildComponent>
    <!-- 没有插入任何内容时,显示子组件定义的默认内容 -->
  </ChildComponent>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: { ChildComponent }
};
</script>

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

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

相关文章

反射快速入门

反射就是通过字节码文件获取类的成员变量、构造方法和成员方法的所有信息。 利用反射&#xff0c;我们可以获取成员变量的修饰符、名字、类型、取值。我们可以获取构造方法的名字、形参&#xff0c;并利用通过反射获取的构造方法创建对象。我们可以获取成员方法的修饰符、名字、…

LeetCode 子集

原题链接78. 子集 - 力扣&#xff08;LeetCode&#xff09; 这是一道暴力搜索问题参考大佬们的题解&#xff0c;对这类题目做出一下总结 1.确定递归参数变量 2.递归结束条件 3.做出选择&#xff0c;递归调用进入下一层 4.回溯&#xff0c;返回到递归前的状态 要完成前面这…

2024Datawhale-AI夏令营——机器学习挑战赛——学习笔记

#ai夏令营#datawhale#夏令营 Day1:入门级demo运行 这个其实比较简单&#xff0c;按照操作来做就行了&#xff0c;特征工程和调参暂时都没有做&#xff0c;后续的才是重头戏。

你想活出怎样的人生?

hi~好久不见&#xff0c;距离上次发文隔了有段时间了&#xff0c;这段时间&#xff0c;我是裸辞去感受了一下前端市场的水深火热&#xff0c;那么这次咱们不聊技术&#xff0c;就说一说最近这段时间的经历和一些感触吧。 先说一下自己的个人情况&#xff0c;目前做前端四年&am…

时钟服务器方案选型推荐:ATGM332D-5T和ATGM331C-5T

ATGM331C-5T系列模块同样是具有高灵敏度、低功耗、低成本等优势&#xff0c;适用于电力授时设备、时钟服务器、守时设备&#xff0c;可以直接替换Ublox LEA T系列模块。 性能指标&#xff1a; 从下面的图来看&#xff0c;ATGM331C-5T系列比ATGM332D-5T系列性能更好&#xff0c;…

大模型对汽车行业意味着什么?_汽车企业大模型

引 言 大模型是一种利用海量数据进行训练的深度神经网络模型&#xff0c;其特点是拥有庞大的参数规模和复杂的计算结构。通过在大规模数据集上进行训练&#xff0c;大模型能够学习到丰富的模式和特征&#xff0c;从而具备强大的泛化能力&#xff0c;可以对未知数据做出准确的预…

轻松省电!教你苹果手机自动调节亮度怎么设置

在日常使用手机的过程中&#xff0c;屏幕亮度是影响电池续航的关键因素之一。苹果手机提供的自动调节亮度功能&#xff0c;可以根据环境光线自动调整屏幕亮度&#xff0c;从而提供最佳的视觉体验并有效延长电池使用时间。想知道苹果手机自动调节亮度怎么设置吗&#xff1f; 本…

如何使用巴比达免费内网穿透服务

#灵感# 访问内部网络资源变得越来越重要。无论是远程办公、远程监控设备还是远程管理服务器&#xff0c;内网穿透技术都提供了一种安全、便捷的解决方案。巴比达&#xff08;Babada&#xff09;作为一种免费的内网穿透服务&#xff0c;为用户提供了快速、安全地访问其内部网络中…

AI人才争夺战:巨头眼中的产品经理必备技能

前言 在人工智能的浪潮下&#xff0c;BAT等一线互联网企业纷纷加码布局&#xff0c;对AI领域的人才需求空前高涨。然而&#xff0c;要在众多求职者中脱颖而出&#xff0c;成为企业眼中的人才&#xff0c;不仅需要深厚的产品功底&#xff0c;更要具备对AI的深刻理解和应用能力。…

JAVASE进阶day03(lamda表达式 ,内部类)

内部类 1.内部类的基本使用 package com.lu.day03;public class Student {private int b 12;public class A{private int b 11;public void show(){int b 10;System.out.println("我是A");System.out.println(b);System.out.println(this.b);System.out.println(…

开源即正义,3D软件Blender设计指南

在当今数字化时代&#xff0c;开源软件的崛起不仅代表着技术的发展&#xff0c;更象征着一种信息自由和技术民主的理念。其本质是集众人之智&#xff0c;共同去完善一个软件&#xff0c;最终使双方互惠共赢。具体来说&#xff0c;开源的价值&#xff0c;在于打破资源垄断&#…

PIN对PIN替代T J A 1 0 2 8,LIN芯片

内部集成高压 LDO&#xff08;耐压 40V&#xff09; 稳压源&#xff0c;可为外部 ECU微控制器或相关外设提供稳定的 5V/3.3V 电源&#xff0c;输出电流可达70mA&#xff1b; 可在 5.5V ~ 28V 电压范围内工作&#xff0c;支持 12V 应用。在休眠模式下可实现极低电流消耗&#x…

Java集合整理笔记

目录 1.集合基础概念 1.1 集合 1.2 单例集合 1.2.1 List系列 1、ArrayList 2、LinkedList 3、Voctor​编辑 1.2.2 Set系列 1、HashSet 集合 2、LinkedHashSet 集合 3、TreeSet集合 1.3 双例集合 1.3.1 HashMap 1.3.2 LinkedHashMap 1.3.3 TreeMap 1.4 快速失败…

python pdfplumber优化表格提取

样例pdf 直接使用文本提取效果&#xff1a; 使用表格提取 根据提取的文本信息是没办法获取到表格数据的&#xff0c;太乱了。尤其是 3 4列。 解决&#xff1a; 自行画线&#xff0c;根据画线进行提取。 效果&#xff1a; 思路&#xff1a; 1.根据表头进行画竖线 2.根据行坐…

thinksboard 网络请求方式

html模块 deleteImage点击事件 <div class"tb-images tb-absolute-fill" [ngClass]"{tb-dialog-mode: dialogMode, mat-padding: !dialogMode}"><div fxFlex fxLayout"column" class"tb-images-content" [ngClass]"{t…

elementPlus自定义el-select下拉样式

如何在f12元素选择器上找到下拉div呢&#xff1f; 给el-select添加 :popper-append-to-body"false" 即可&#xff0c;这样就可以将下拉框添加到body元素中去&#xff0c;否则当我们失去焦点&#xff0c;下拉就消失了&#xff0c;在元素中找不到el-select。剩下就可以…

Amos结构方程模型---探索性分析

初级 第5讲 探索性分析_哔哩哔哩_bilibili amos中基本操作&#xff1a; 椭圆潜变量&#xff0c;不可预测 数据导入 改变形状 判定系数 方差估计和假设检验&#xff1a; 探索性分析&#xff1a; ses&#xff08;潜变量&#xff09;社会经济指数 从考虑最大的MI开始&#xff0c;卡…

模拟 ADC 的前端

ADC 的 SPICE 模拟 反复试验的方法将信号发送到 ADC 非常耗时&#xff0c;而且可能有效也可能无效。如果转换器捕获电压信息的关键时刻模拟输入引脚不稳定&#xff0c;则无法获得正确的输出数据。SPICE 模型允许您执行的步是验证所有模拟输入是否稳定&#xff0c;以便没有错误…

全网最详细金融APP测试功能点-测试用例,详细整理(全)

2024软件测试面试刷题&#xff0c;这个小程序&#xff08;永久刷题&#xff09;&#xff0c;靠它快速找到工作了&#xff01;&#xff08;刷题APP的天花板&#xff09;-CSDN博客跳槽涨薪的朋友们有福了&#xff0c;今天给大家推荐一个软件测试面试的刷题小程序。https://blog.c…

mov文件怎么转换成mp4格式?这四种转换方法超级好用!

mov文件怎么转换成mp4格式&#xff1f;在数字娱乐的世界中&#xff0c;你是否曾遇到过MOV格式的视频&#xff1f;也许&#xff0c;对于许多人来说&#xff0c;这并不是一个常见的格式&#xff0c;但这并非偶然&#xff0c;首先&#xff0c;我们来谈谈MOV的兼容性问题&#xff0…