VUE学习笔记:插槽详解

一文详解Vue插槽slot的使用与案例展示,看完就彻底明白了 目录 一、插槽的含义 二、插槽的三种使用方法 1.默认插槽 2.具名插槽 3.作用域插槽 4.版本变化 插槽slot在实际的项目开发中是经常使用的,主要分为三大类:默认插槽、具名插槽和作用域插槽,也是比较容易上手的。 一、插槽的含义 插槽slot是写在子组件的代码中,供父组件使用的占位符。在代码中,大致写为如下的形式,后面会进行详细的写法介绍。 <slot> </slot> 插槽其实就是在写slot的地方挖个坑,等着组件的使用者,即父组... 阅读详情

      刚开始看Vue官方文档的时候对插槽不是很理解,其实通俗点来讲,插槽就是在自定义组件中预留一个位置,这个位置的内容可以由使用组件的人来定义,具有高度的灵活性。

1、使用场景

      先来看看插槽的使用场景,否则可能连学习的欲望都没有了。插槽还是很重要的,即使不去定义,也要学会使用。

      下面这个图中使用了Vant中的NavBar组件,该组件用于手机端标题展示,默认的组件展示的只有标题和返回按钮,但是在有些情况下,我们可能需要在标题栏中放一个增加或查询按钮,这个时候就需要利用插槽来让用户自己定义区域中的内容。该组件的封装者将该标题组件划分成三个区域,分别是“左、中、右”,每个位置都放了一个插槽,并且给出默认内容。这样一来,用户除了可以采用默认的方式使用该组件,也可以自己定义插槽区域的内容,极大的提高了组件的灵活性。

2、插槽的基本用法

      定义组件时,在需要由用户自定义的区域使用<slot></slot>占位,使用组件时,在组件的标签之间通过<template></template>定义要往插槽中填充的内容。示例代码:

//定义一个组件Box
<template>
    <div>
        <div>这是一个定义了插槽的组件</div>
        <slot></slot>  //通过slot定义了一个插槽
        <div>组件其它内容</div>
    </div>
</template>

//使用上面的组件
<Box>
    <template>
        <div>插槽中展示的内容</div>
    </template>
</Box>

 ​

       如果在定义组件时没有使用<slot></slot>点位,即使在使用组件时在组件标签之间定义了内容,也会被忽略。

3、后备内容

       此处所说的后备内容是官方文档里面的叫法,实际上就是指插槽的默认值。在定义组件时,可以在<slot><slot>之间给出插槽的默认内容,也就是说当使用插槽时如果没有在组件标签内定义插槽的内容,则默认内容生效,否则默认内容不生效。例如:

//定义一个组件Box
<template>
    <div>
        <div>这是一个定义了插槽的组件</div>
        <slot>
            <div>这是插槽的默认内容</div>
        </slot>  //通过slot定义了一个插槽,并在插槽中给出了默认值
        <div>组件其它内容</div>
    </div>
</template>

 使用方式1:
<Box>
    <template>
        <div>插槽中展示的内容</div>
    </template>
</Box>

此时页面呈现的内容为:

 使用方式2:
<Box></Box>

此时页面呈现的内容为:

 

4、具名插槽

       每个插槽都有一个名字,当一个组件中只有一个插槽时,我们可以不用指定插槽的名称,此时插槽的名称为:default。如果一个组件中有多个插槽,我们必须为每个插槽制定名称,否则无法向插槽填充对应的内容。

在组件定义时为solt制定name标签,使用组件时,通过v-slot:‘组件名称’,制定插入到哪个插槽。v-slot必须使用在template标签,v-slot的简写形式为#。示例:

 5、作用域插槽

      定义插槽时可向<slot></slot>中添加属性,使用组件时可以接收到该属性值,示例:

//定义一个组件Box
<template>
    <div>
        <slot name='left' msg='消息内容'> //为slot标签添加属性,属性名称可以自定义
        </slot> 
    </div>
</template>


//使用组件
<Box>
    <template #left='obj'>
        <div>插槽内容</div>
    </template>
</Box>

       上面代码中,定义组件时为slot增加了name和msg属性,name为slot的名称,msg为自定义属性。使用组件时template标签中有一个指令:#left='obj',其中#left是:v-slot:left的缩写,obj中包含了msg属性值,使用时可以通过obj.msg获取传过来的消息内容。

Vue2(16) 插槽学习笔记 插槽是Vue.js中一种非常强大的功能,它允许开发者在组件中预留插槽位置,以便在父组件中使用该组件时插入自定义内容。通过具名插槽和作用域插槽,可以实现更复杂的组件布局和数据传递。在使用插槽时,需要注意插槽的定义、后备内容的设置、具名插槽的使用以及作用域插槽的数据传递等细节。 阅读详情

相关推荐

Vue组件:插槽

在实际开发中,子组件往往只提供基本的交互功能,而内容是有父组件来提供的。为此,Vue.js 提供了一种混合父组件内容和子组件模板的方式,这种方式称为内容分发。Vue.js 参照当前 Web Components 规范草案实现了一套内容分发的 API,使用 元素作为原始内容的插槽。

pan_junbiao的博客 1729

【Vue知识点】Vue中插槽的使用

Vue中插槽的使用

m0_50785976的博客 1824

vue系列之 插槽(Slot) 详解

插槽在vue中是一种很常见的写法,让父组件可以向子组件指定位置插入html结构,也是一种组件间通信的方式。一共有三种分类:默认插槽、具名插槽、作用域插槽,下面一一根据案例改造说明。

共同学习,共同成长 6732

Vue -- 插槽

文章目录插槽1. 插槽2. 体验插槽的基础用法2.1 没有预留插槽组件标签内的内容会被丢弃2.2 后备内容3. 具名插槽3.1 为具名插槽提供内容3.2 具名插槽的简写形式4. 作用域插槽4.1 解构作用域插槽的 Prop把information的数据解构出来4.2 声明作用域插槽4.3 使用作用域插槽 插槽 1. 插槽 插槽(Slot)是 vue 为组件的封装者提供的能力。允许开发者在封装组件时,把不确定的、希望由用户指定的部分定义为插槽。 可以把插槽认为是组件封装期间,为用户预留的内容的占位符。 2

emmmm..... 1万+

插槽分类及使用场景

插槽是 Vue 组件系统中的一种内容分发机制,允许父组件向子组件传递模板内容。简单来说,插槽就像是子组件预留的"占位符",父组件可以往这些位置填充自定义内容。💡类比理解:想象一个相框(子组件),相框本身有边框和装饰,但中间的照片区域(插槽)可以由使用者(父组件)自由放置不同的照片。特性默认插槽具名插槽作用域插槽复杂度⭐⭐⭐⭐⭐⭐数据流向父 → 子父 → 子子 ↔ 父(双向)使用频率高高中典型场景简单容器多区域布局数据驱动的列表/表格灵活性一般较好最强🎯提高组件复用性。

weixin_64684095的博客 274

ITK-snap医学图像标注方法(超级详细)——保姆级

医学3D图像标注方法,非常详细,保姆级

jialiyk的博客 3万+

【Vue插槽详解】

个人对Vue中插槽的见解,详细的介绍了不同种类的插槽方法,以及不同类型的插槽作用

小田是个程序员的博客欢迎你的到来呀~ 3万+

告别连接难题:Windows 11下Multisim主数据库稳定运行终极配置指南

本文详细解析了Windows 11下Multisim 14.0主数据库连接失败的三大根源,并提供了四步终极解决方案,包括系统环境优化、软件权限配置、注册表修复和网络验证绕过技巧。通过实测数据对比,本方案显著提升了启动速度和稳定性,解决了电子仿真中的常见连接问题。

weixin_33738555的博客 432

vue插槽之插槽的用法及作用域插槽详解

插槽是vue中一个很有用的工具。本篇文章将讲解vue插槽的基本用法,并详细讲解作用域插槽。希望能对读者有所帮助!

zxdznyy的博客 2万+

iTunes登录协议逆向与自动化实现

本文详细解析了iTunes登录协议的逆向工程与自动化实现方法,涵盖请求体构造、签名生成和会话管理等关键技术。通过XML结构解析、X-Apple-ActionSignature生成原理及完整登录流程实现,帮助开发者高效完成iTunes自动化登录,提升工作效率。

weixin_26938645的博客 939

Fortran基础编程(3)——格式化输出

本篇推文将进一步讲解Fortran基础语法中格式化输出与声明部分,让我们的代码更加美观起来吧~

qq_45715554的博客 3827

vue3 插槽使用详解

vue slot插槽使用详解

蓑笠翁 1万+

【机器学习】实验2,基于回归分析的大学综合得分预测(完整代码实现+分析)

大学排名是一个非常重要同时也极富挑战性与争议性的问题,一所大学的综合实力涉及科研、师资、学生等方方面面。目前全球有上百家评估机构会评估大学的综合得分进行排序,而这些机构的打分也往往并不一致。在这些评分机构中,世界大学排名中心(Center for World University Rankings,缩写CWUR)以评估教育质量、校友就业、研究成果和引用,而非依赖于调查和大学所提交的数据著称,是非常有影响力的一个。

高丽大学人工智能硕士在读|专注大模型、RAG、OCR与AI工程实践 1974

Vue3 插槽使用详解

一文搞懂Vue3插槽基本用法

白瑕 的博客 2万+

【实战圣经】YOLOv8-pose姿态估计模型从训练到RK3588部署:让边缘端骨骼识别速度突破60FPS

本教程从“模型训练-转换-边缘部署”全链路拆解了YOLOv8-pose姿态估计方案在RK3588上的落地过程,每一步都经过实战验证。无论是智能健身的动作实时纠正,还是工业设备的关键部件姿态检测,这套流程都能让你以最低成本实现高精度、高实时性的姿态估计应用。如果你在实践中遇到模型转换报错、部署性能不达标等问题,可聚焦某一环节深入优化——毕竟,让AI在边缘端“精准捕捉每一个关键点”,才是技术驱动场景创新的核心。

m0_71589036的博客 251

Python内置函数zip()——《Python内置函数手册》Python老吕编著

zip()函数是 Python 中的一个内置函数,用于将多个可迭代对象(如列表、元组、字符串等)中对应的元素打包成一个个元组,然后返回由这些元组组成的迭代器。zip()函数常用于将多个序列并行迭代,或者用于数据对齐。zip()它返回一个迭代器,这意味着你可以逐个获取打包后的元素,而不是一次性将所有元素加载到内存中。如果输入的可迭代对象长度不一致,zip()会以最短的可迭代对象为准,只打包到最短对象的末尾。它可以用来并行迭代多个序列,使得代码更加简洁和高效。在接下来的章节中,我们将详细介绍。

Python老吕的博客 680

vue 插槽详解

Vue.js插槽机制详解:实现灵活组件复用的核心方案 Vue插槽提供了一套完整的内容分发机制,主要包括三种类型: 默认插槽 - 基础内容分发,支持后备内容 具名插槽 - 通过name属性和v-slot指令实现多插槽布局 作用域插槽 - 子组件向插槽内容暴露数据,实现数据与UI解耦 高级特性包括动态插槽名、解构默认值等,典型应用场景包括: 通用布局组件(页眉/页脚/侧边栏) 可配置表格组件(自定义单元格渲染) 模态框组件(灵活控制各部分内容) 插槽机制极大提升了Vue组件的复用性和灵活性,是构建复杂UI系统的

csdn_silent的博客 1552

基于 Qt C++ 的 船舶导航系统 UI

你想实现一个基于 **Qt C++** 的 **船舶导航系统 UI**,核心功能包括 **Qt Quick** 电子海图显示和 **NMEA 0183** 协议解析。"断开" : "连接"创建一个 Qt Quick 项目,选择 **Qt 6** 版本,确保勾选 **Qt Quick**、**Qt Network** 和 **Qt SQL** 模块。Label { text: "纬度:" }3. **连接设备**:点击 "连接" 按钮连接到 GPS 设备或模拟数据源。title: "连接设置"

寒寒豆豆软件公司的博客 127

【vue】vue中插槽slot的用法详解

在Vue中,子组件的模板可以定义多个插槽(包括默认插槽和具名插槽等),而父组件在引用子组件时,可以根据需要有选择性地为这些插槽插入内容。如果父组件没有为某个插槽提供内容,那么子组件的模板中该插槽的位置将显示为该插槽的默认内容(如果有的话),或者简单地留空。

景天科技苑 6万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

VUE的插槽

1. 什么是插槽 插槽(slot)是 vue 为组件的封装者提供的能力。允许开发者在封装组件时,把不确定的、希望由用户指定的部分定义为插槽。 可以把插槽认为是组件封装期间,为用户预留的内容的占位符。 2. 体验插槽的基础用法 声明一个插槽区域 vue 官方规定:每一个 slot 插槽,都要有一个 name 名称 如果省略了 slot 的 name 属性,则有一个默认名称叫做 default 在封装组件时,可以通过 <slot> 元素定义插槽,从而为用户预留内容占位符。示例...

酷爱前端的小陈博客 3万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Vue插槽详解 | 什么是插槽?

作者 | Jeskson 来源 | 达达前端小酒馆 什么是插槽?插槽的指令为v-slot,它目前取代了slot和slot-scope,插槽内容,vue实例一套内容分发的api,将slot元素作为承载分发内容的出口。 组件的书写: <my-link url="/profile"> dada </my-link> 运用组件模板,可以在里面书写: <a v-bind...

程序员哆啦A梦,蓝胖子 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

详解Vue3中的插槽(slot)

本文主要介绍Vue3中的插槽(slot)。

一起学习 2万+

Vue:关于插槽的详解

Vue:关于插槽的详解。包括默认插槽的使用,具名插槽的使用,动态插槽名,作用域插槽的使用以及实战应用场景,和插槽的多层嵌套

Litt_White的博客 4666

VueJS 之插槽

在对组件进行封装时,我们可能需要提供一个接口,使得组件的使用者可以向该组件提供模板或其他组件以供当前组件使用,而这个接口就是插槽。在为插槽命名后,你可以通过插槽的名称向对应的插槽提供内容。如果你需要向插槽的使用者提供一些数据,那么你可以通过作用域插槽的方式向插槽的使用者提供数据。在对组件进行封装时,我们可能需要提供一个接口,使得组件的使用者可以向该组件提供模板或其他组件供当前组件使用,而这个接口就是插槽。父组件模板中的表达式只能访问父组件的作用域,子组件模板中的表达式只能访问子组件的作用域。

两个月亮 1162

插槽(Slots)详解:全面解析 Vue 插槽的所有用法

Vue 插槽功能为组件化开发提供了极大的灵活性和可复用性。父组件可以灵活地控制子组件的内容,子组件则可以定义插槽,让父组件插入所需内容。通过插槽,我们可以实现高度可定制的组件,而不需要修改组件的内部逻辑和样式。默认插槽:最基本的插槽,父组件传递的内容直接插入到子组件的中。命名插槽:多个插槽可以接收不同的内容,通过name属性区分不同的插槽。具名插槽的简写语法:使用来代替v-slot,使代码更加简洁。作用域插槽:子组件向父组件传递数据,父组件可以访问子组件的数据并进行渲染。插槽的多层嵌套。

m0_75075881的博客 4779

Vue中的插槽详解

slot插槽的使用

hui_style的博客 5012
上一篇: vue学习笔记:Vue组件
下一篇: Vue学习笔记:路由详解
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值