vue3插槽学习——起步(一)

vue3 关于插槽的使用 Vue3 关于几种插槽的使用 阅读详情

1、slot

① 认识插槽Slot

  1. 在开发中,我们会经常封装一个个可复用的组件:

    • 前面我们会通过props传递给组件一些数据,让组件来进行展示;
    • 但是为了让这个组件具备更强的通用性,我们不能将组件中的内容限制为固定的div、span等等这些元素;
    • 比如某种情况下我们使用组件,希望组件显示的是一个按钮,某种情况下我们使用组件希望显示的是一张图片;
    • 们应该让使用者可以决定某一块区域到底存放什么内容和元素;
  2. 举个栗子:假如我们定制一个通用的导航组件 - NavBar

    • 这个组件分成三块区域:左边-中间-右边,每块区域的内容是不固定;

    • 左边区域可能显示一个菜单图标,也可能显示一个返回按钮,可能什么都不显示;

    • 中间区域可能显示一个搜索框,也可能是一个列表,也可能是一个标题,等等;

    • 右边可能是一个文字,也可能是一个图标,也可能什么都不显示;

② 如何使用插槽slot?

  1. 这个时候我们就可以来定义插槽slot:

    • 插槽的使用过程其实是抽取共性、预留不同;
    • 我们会将共同的元素、内容依然在组件内进行封装;
    • 同时会将不同的元素使用slot作为占位,让外部决定到底显示什么样的元素;
  2. 如何使用slot呢?

    • Vue中将 元素作为承载分发内容的出口;
    • 在封装组件中,使用特殊的元素就可以为封装组件开启一个插槽;
    • 该插槽插入什么内容取决于父组件如何使用;

③ 插槽的基本使用

  1. 我们一个组件MySlot.vue:该组件中有一个插槽,我们可以在插槽中放入需要显示的内容:

    <template>
      <div>
        <h2>组件开始</h2>
        <slot />
        <h2>组件结束</h2>
      </div>
    </template>
    
    <script> export default {} </script> 
    
  2. 我们在App.vue中使用它们:我们可以插入普通的内容、html元素、组件元素,都可以是可以的:

    <template>
      <div>
        <my-slot>
          <button>我是按钮</button>
        </my-slot>
      </div>
    </template>
    
    <script> // 导入组件
    import MySlot from './MySlot.vue'
    
    export default {
      components: {
        MySlot
      }
    } </script> 
    
  3. 页面效果:

    注意:

    • 像之前如果不添加插槽的话,如果在子组件标签中写入内容,页面并不会渲染出来,只需要在组件中添加一个<slot/>插槽,那么就会将内容渲染出来。
    • 除了像上面给插槽传递标签或者文本,也可以传递组件

④ 插槽的默认内容

  1. 有时候我们希望在使用插槽时,如果没有插入对应的内容,那么我们需要显示一个默认的内容:

    • 当然这个默认的内容只会在没有提供插入的内容时,才会显示:

      <template>
        <div>
          <h3>组件开始</h3>
          <slot>
            <i>我是插槽的默认内容</i>
          </slot>
          <h3>组件结束</h3>
        </div>
      </template>
      
      <script> export default {} </script> 
      

⑤ 传递多个标签

Ⅰ. 单个插槽的效果
  1. 如果子组件中只有一个slot插槽,但是父组件中任然可以传递多个标签内容,子组件都会渲染出来的:

    • MySlot.vue子组件代码同上

    • App.vue父组件中的代码:

      <template>
        <div>
          <my-slot>
            <h3>我是 h3</h3>
            <h4>我是 h4</h4>
            <h5>我是 h5</h5>
          </my-slot>
        </div>
      </template>
      
      <script> // 导入组件
      import MySlot from './MySlot.vue'
      
      export default {
        components: {
          MySlot
        }
      } </script> 
      
  2. 页面效果:

Ⅱ. 多个插槽的效果
  1. 我们先测试一个知识点:如果一个组件中含有多个插槽,我们插入多个内容时是什么效果?

    • 我们会发现默认情况下每个插槽都会获取到我们插入的内容来显示;

  2. 当有多个插槽的时候,每个插槽会将父组件的内容全部展示出来

Vue3 作用域插槽 Vue3作用域插槽 阅读详情

相关推荐

vue实现顶部菜单栏

vue实现顶部菜单栏,同一个页面两个菜单按钮之间的切换 先看展示结果: 点击第一个按钮,显示内容1 点击第二个按钮,展示内容2 下面上源码:注意哦,一定要代码规划,别学我(⊙o⊙) 数据标注 案

vuecli实战商城后台管理系统

适用人群具有一定javaScript基础具有一定Vuejs基础课程概述本季度基于Vuecli + elementUI实战开发商城后台管理系统完整视频教程,其中包括vuex模块化管理、Vue-router二次封装、使用element-ui库、支付模块、多权限管理、商品多规格实现、对象存储、api接口安全以及部署服务器上线等知识等。课程大纲见以下图!

AI大模型与碳足迹评估结合模式及示范案例

AI大模型与碳足迹评估相结合,可以提供更精确、更快速的碳排放量计算,优化减排策略,并促进可持续发展目标的实现。

贾贾的博客 3944

vue3导航栏

代码如下 包含了样式 关闭等功能。

weixin_50249353的博客 597

MOS 管驱动设计细节,波形分析

一般认为MOSFET是电压驱动的,不需要驱动电流。然而,在MOS的G S两级之间有结电容存在,这个电容会让驱动MOS变的不那么简单。 如果不考虑纹波和EMI等要求的话,MOS管开关速度越快越好,因为开关时间越短,开关损耗越小,而在开关电源中开关损耗占总损耗的很大一部分,因此MOS管驱动电路的好坏直接决定了电源的效率。 对于一个MOS管,如果把GS之间的电压从0拉到管子的开启电压所用的时间越短,那么MOS管开启的速度就会越快。与此类似,如果把MOS管的GS电压从开启电压降到0V的时间越短,那么MOS管关断的

m0_50862404的博客 1万+

1. Klipper从安装到运行

本文记录Klipper固件从安装,配置到运行的详细过程

weixin_42098934的博客 1万+

Vue3项目-配置路由及侧边栏导航栏

你可以根据需要在路由配置文件中添加更多的路由,并在侧边栏导航栏组件中生成对应的路由链接。在你的Vue项目中,你可以创建一个侧边栏导航栏组件,该组件用于显示路由导航链接。在你的Vue项目中,你可以创建一个侧边栏组件,该组件用于显示侧边栏导航栏。在你的Vue项目中,你可以创建一个顶栏组件,该组件用于显示顶部导航栏。在你的主组件中,你可以将侧边栏导航栏组件添加到页面布局中,以便在页面中显示导航链接。在你的主组件中,你可以将侧边栏和顶栏组件添加到页面布局中,以便在页面中显示导航栏。组件生成了两个导航栏项。

一步一个脚印,踏实努力,向着目标前进 6219

基于粒子群算法的PID控制器优化设计

粒子群算法、PID、寻优

qq_46107700的博客 2万+

vue3+Element Plus功能组件封装——顶部导航(动态渲染+样式调整)

网页顶部的导航栏,一般由代码动态生成菜单数据在文件内统一配置,方便增删改查,导入后可自动生成导航菜单代码如下。

布克吉的博客 2055

揭秘《出塞》UE5+AIGC高效工作流 | 从创意到成片全流程解析

李季老师(老李头儿)在第四届瑞云大赛斩获季军的作品《出塞》的完整创作流程!

UWA—简单优化,优化简单! 767

与本地电脑PDF文档对话的PDF问答程序

紧接着,从PDF文档中提取文本,这部分代码的作用是遍历PDF文档中的每一页,并使用extract text(0方法提取每一页的文本内容,然后将这些文本内容累加到raw text变量中。PDF问答程序的实现方式是利用LangChain已实现的向量存储、嵌入,以及使用查询和检索相关的链来获取外部数据集及处理文档,在进行相关性检索后进行合并处理,将其置入大语言模型的提示模板中,实现与PDF文件交流的目的。例如,你正在为一项重要的报告寻找资料,你必须知道你需要查找的关键词,然后在大量的信息中筛选出你需要的部分。

weixin_43961909的博客 1422

Vue3实战笔记(20)—封装头部导航组件

Vue 3 封装头部导航栏有助于提高代码复用性、统一风格、降低维护成本、提高可配置性和模块化程度,同时还可以实现动态渲染等功能,有利于项目开发和维护。封装头部导航栏可以确保整个项目的导航栏风格一致,提升用户体验,让用户在使用过程中感到更加舒适和自然。就是大家都有咱们也得有。行动是实现梦想的桥梁,坚持是成功的密码。

山花的博客 1232

13、基于RBF的自适应鲁棒控制与反步控制方法及实现

本文介绍了基于RBF神经网络的自适应鲁棒控制与反步控制方法,详细阐述了控制系统的程序结构、核心算法及实现流程。通过Simulink搭建仿真系统,利用RBF网络逼近系统中的不确定非线性函数,并结合Lyapunov稳定性理论设计控制律,实现了对倒立摆等复杂非线性系统的高精度跟踪控制。文章还提供了完整的MATLAB/Simulink代码示例和仿真结果分析,验证了该方法的有效性与鲁棒性,为实际工程应用提供了可行的技术路径。

ol789012的博客 90

Vue3 插槽使用详解

一文搞懂Vue3插槽基本用法

白瑕 的博客 2万+

Qt Quick/QML入门到精通_专栏demo对应文章目录(目前50个左右demo/长期更新)

自定义图标下拉列表框的效果如下所示:自定义三态按钮的效果如下所示:传送门:53.qt quick-自定义三态按钮、自定义图标下拉列表框_诺谦的博客-优快云博客传送门:59.qt quick-qml调色板(颜色取色器)实现、自定义QQuickStyle样式_诺谦的博客-优快云博客63.qt quick-QML侧边滑动栏(不需要任何图片资源,支持自定义左右方向和大小)_诺谦的博客-优快云博客_qt实现好看侧边栏。...

抵抗时间扭曲,坚持做一件有意义的事 2万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

vue3 插槽使用详解

vue slot插槽使用详解

蓑笠翁 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Vue3中slot插槽使用方式

插槽

qq_40063198的博客 2万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

详解Vue3中的插槽(slot)

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

一起学习 2万+

Vue2 插槽的使用【默认插槽、具名插槽、作用域插槽】

这篇文章我们一起来学习一下 Vue2 插槽的使用,文章大致分为两个模块,第一部分是什么是插槽,其作用是什么,第二部分为三种插槽的使用,分别为默认插槽,具名插槽,作用域插槽,相信大家学习完这篇文章后一定会受益匪浅。

weixin_52212950的博客 1万+

Vue3 使用插槽的方式———<Slot>

如果父组件没有为某个插槽提供内容,那么子组件的模板中该插槽的位置将显示为该插槽的默认内容(如果有的话),或者简单地留空。在Vue3中,子组件的模板可以定义多个插槽(包括默认插槽和具名插槽等等),定义:允许插槽的名称是动态的,根据组件的状态或其他条件来决定使用哪个插槽。定义:没有指定名称的插槽,用于接收父组件传递的未明确指定插槽名称的内容。定义:带有名称的插槽,用于接收父组件中明确指定插槽名称的内容。定义:一种特殊的插槽,允许子组件将数据暴露给父组件的插槽内容。定义具名插槽,父组件中通过。

weixin_50559423的博客 6590

vue slot插槽——vue2、vue3默认插槽、具名插槽使用

不管是vue2还是vue3的插槽,他们都分为两种:默认插槽和具名插槽。 插槽的优点就是,只需要摆放正确插槽出口的位置(样式调整好),定义插槽内容的顺序在组件中可以随意,但是同名的插槽内容总是会覆盖上一个插槽内容(vue2中)。 什么是默认插槽?什么是具名插槽? slot标签不指定name属性的时候就是默认插槽,反之就是具名插槽。在定义插槽内容的时候,所有不指定插槽名称的内容,都会被输出到默认插槽的位置,反之也是一样。 vue2中插槽内容定义:在vue2.6.0之后,使用 v-slot或者语法糖#

扶摇的博客 4691

Vue3和Vue2的slot-scope插槽用法

Vue3和Vue2的slot-scope插槽用法,看完觉得没了?恭喜你没走开,下面的更精彩,分享Vue3里面v-solt插槽的四种用法:

爱就码上行动,奔赴热爱,追光而行。愿你带着从容与热爱,拥抱每一天的惊喜与美好 9052

VueJS 之插槽

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

两个月亮 1166

vue3中插槽的使用

vue3中插槽的使用 文章目录vue3中插槽的使用匿名插槽具名插槽作用域插槽 插槽就是子组件中的提供给父组件使用的一个占位符,用<slot></slot> 表示,父组件可以在这个占位符中填充任何模板代码,如 HTML、组件等,填充的内容会替换子组件的<slot></slot>标签,父组件填充的内容称为插槽内容。 子组件不提供插槽时,父组件填充失效 父组件无填充时,<slot></slot>中的备用内容会启用生效 父级模板里的所有内容都

1万+

Vue3插槽

Vue3 的插槽机制为组件化开发提供了强大的内容分发能力,通过不同类型的插槽可以实现灵活的组件组合和复用。默认插槽子组件使用<slot>作为内容占位符父组件内容自动填充到未命名的插槽位置可通过显式指定默认插槽内容具名插槽子组件中为<slot>添加 name 属性命名父组件通过定向分发内容多个插槽需保持名称唯一性动态插槽使用变量动态绑定插槽名称适合需要运行时切换插槽内容的场景可通过 v-for 批量处理多个动态插槽作用域插槽子组件通过传递数据。

whhhhhhhhhw的博客 2551

Vue3+TS组件的插槽使用

Vue3+TS组件的插槽使用

幽幽谷 1701
上一篇: vue3 更新的setup语法糖
下一篇: Vue3响应式原理简单实现
梅花十三儿
博客等级 码龄5年 1038粉丝 444原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值