1.什么是插槽?

插槽(slot)是vue为组件的封装提供的能力。把不确定的部分定义为插槽。

插槽共分为3中:

插槽的结构:

匿名插槽:<slot></slot>

具名插槽:<slot name=top></slot>

作用域插槽:<slot title='标题' :num=count></slot>

1. 匿名插槽

匿名插槽的作用: 保留组件中的所有原始标签内容,这种插槽被称为匿名插槽

直接在组件中写上slot标签对,就可以在根元素中的引用的组件中间显示所写的内容。

当不写name的时候为匿名插槽(其实它会默认带上name=‘default’)

2. 具名插槽

凡是具有name属性的slot标签,就被称为具名插槽即<slot name=top>(在子组件中写,写的位置不同,在引用该模板的页面中显示的位置也会不一样)。

一个组件中有多个插槽的时候,如果没有设置 v-slot 属性值,会默认把元素插到没有设置 name 属性值的 slot 组件中,为了把对应的元素放到指定的位置,就需要借助 v-slot 和 name 属性,把内容对应起来。

<child-com>

 <template #header>

  头部

 </template>

 <template #body>

  内容

 </template>

 <template #footer>

  

 </template>

</child-com>

3. 作用域插槽

在组件的原始内容中,通过slot-scope属性接受作用域插槽传递的值,即obj={title:‘标题’,num:19}

作用域插槽:将组件模板中的数据传递给组件的原始内容

1. 在slot开始标签中,添加要传递的数据,避开name属性(具名插槽)

2. 在原始内容中通过slot-scope属性(其值是自定义的)接受传递的数据,即slot-scope=varName(本质是个对象,存储传递的数据,即数据会自动转换成键值对,存储在这个对象里,所以属性名对应属性名,属性值对应属性值)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<child-com>

 <template v-slot:header="slotProps">

  插槽内容--{{ slotProps.item }} 序号--{{ slotProps.index }}

 </template>

</child-com>

//子组件代码

<template>

 <div v-for="(item, index) in arr" :key="index">

  <slot :item="item" name="header" :index="index"></slot>

 </div>

</template>

<script setup>

 const arr = ['1111''2222''3333']

</script>

vue插槽的使用方法相关推荐

  1. vue 插槽 slot 的用法

    vue 插槽 slot 的用法 一.简单定义.使用 slot 二.slot 变量传值 三.跨组件传递 slot 方法1: 多定义一个中间插槽 方法2:使用 scopedSlots 字段 传递作用域插槽 ...

  2. 织梦引用html,html直接引用vue和element-ui的方法

    短视频,站群系统,自媒体,达人种草一站服务 这篇文章主要介绍了html直接引用vue和element-ui的方法,本文通过实例代码给大家介绍的非常详细,采集软件,对大家的学习或工作具有一定的参考借鉴价 ...

  3. vscode 新建php模板,使用VSCode快速创建vue文件模版的方法介绍

    VSCode怎么自定义代码模版?下面本篇文章给大家介绍一下VSCode快速创建vue文件模版的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 修改位置 打开vscode首选项- ...

  4. vue插槽样式_vue 插槽简介及使用示例

    Vue的插槽,是一种内容分发机制,但是我感觉它更加像组件的一种占位符的概念,通过插槽,等待组件外部传入复杂的内容. 使用插槽的好处 在以前的例子中todo-item插槽直接写在了todo-list插槽 ...

  5. Vue 组件间通信方法汇总

    Vue 组件间通信方法汇总 ⭐️ 更多前端技术和知识点,搜索订阅号 JS 菌 订阅 除了使用 Vuex 方法外,vue 提供了各种各样的组件间通信的方案.文章整理一下父子组件.兄弟组件.祖先后代组件间 ...

  6. vue 中的el表达式_Vue中vue.filter()的使用方法介绍(过滤)

    本篇文章给大家带来的内容是关于Vue中vue.filter()的使用方法介绍(过滤),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Vue过滤器 {{msg |msgFormat}} ...

  7. keep alive PHP,vue中keep-alive使用方法详解

    这次给大家带来vue中keep-alive使用方法详解,vue中keep-alive使用的注意事项有哪些,下面就是实战案例,一起来看一下. 1.keep-alive的作用以及好处 在做电商有关的项目中 ...

  8. [vue] 怎么给vue定义全局的方法

    [vue] 怎么给vue定义全局的方法 第一种:挂载到Vue的prototype上.把全局方法写到一个文件里面,然后for循环挂载到Vue的prototype上,缺点是调用这个方法的时候没有提示Obj ...

  9. 【vue开发】vue插件的install方法

    MyPlugin.install = function (Vue, options) {// 1. 添加全局方法或属性Vue.myGlobalMethod = function () {// 逻辑.. ...

最新文章

  1. 系列四、SpringMVC响应数据和结果视图
  2. 【Android RTMP】x264 图像数据编码 ( NV21 格式中的 YUV 数据排列 | Y 灰度数据拷贝 | U 色彩值数据拷贝 | V 饱和度数据拷贝 | 图像编码操作 )
  3. PostgreSQL在何处处理 sql查询之四十七
  4. mysql中length与char_length字符长度函数使用方法
  5. php自动配置ip,使用PHP自动PING IP
  6. wordpress的API end point
  7. python对分组进行排序_如何按排序顺序将列表中的项目分组?
  8. MySql的用户权限
  9. bin文件编辑_为MediaWiki安装可视化编辑器VisualEditor
  10. 安装服务器加硬盘分区,DOL服务器硬盘分区与安装模式
  11. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(2) - SSE程序设计环境概述
  12. Citrix Bypass总结
  13. 【UNITY3D 游戏开发之八】UNITY编译到IPHONE运行 COLLIDER 无法正常触发事件解决方案...
  14. JavaWeb之分页代码
  15. 建模国赛2016A-系泊系统的设计优秀论文
  16. python ocr识别身份证_如何使用Tesseract训练基于Python的OCR以使用不同的国家身份证?...
  17. 免备案CDN免费 注册就送1T免费加速流量
  18. oracle sparc t5-2报价,SPARC T5-2服务器
  19. 京东数据化运营(二)- 转化率
  20. PWN入门(5)32位程序与64位程序和构造ROP链

热门文章

  1. Docker启动服务报错Job for docker.service failed because the control process exited with error code
  2. 线性规划原问题与对偶问题
  3. 在 1G 内存的计算机中能否 malloc(1.2G)
  4. python中对列表元素大小排序(冒泡排序法,选择排序法和插入排序法)—排序算法
  5. linux 卸载nodejs_linux 卸载安装node npm
  6. 批量梯度下降(BGD)、随机梯度下降(SGD)以及小批量梯度下降(MBGD)及 batch、epoch、iteration
  7. Qt基础教程:对齐方式
  8. 英国Assignment写作要求通常包括哪些方面?
  9. UDP通讯协议广播和组播实现
  10. 如何验证姓名和ID是否匹配?