v-slot顾名思义,中文意思是插槽。如果你平时常用组件化开发,那相信你对插槽肯定不陌生,它的主要作用就是可以在父组件中将自定义内容插入到子组件中,这句话比较拗口,可以先看个基础的插槽示例。

一、单个插槽

单个插槽也叫默认插槽,或者匿名插槽。

父组件
<Card><p>我是父组件中自定义的内容</p>
</Card>
子组件
<div><p>我是标题</p><slot></slot>
</div>

当组件渲染的时候,<slot></slot> 将会被替换为父组件中的<p>我是父组件中自定义的内容</p>。插槽内可以包含任何模板代码,非常方便,最后渲染出来的代码:

<div><p>我是标题</P><p>我是父组件中自定义的内容</p>
</div>

设置插槽默认值

以上例子很简单,不过要注意的是可以给slot设置默认值,父组件没有提供插槽内容的时候显示。

父组件
<Card>//无内容
</Card>
子组件
<div><p>我是标题</p><slot>暂无数据</slot>
</div>

二、具名插槽

具名插槽是当一个组件需要多个插槽的时候。它在实际应用中也非常常见,比如element-ui中的dialog组件,比如下面这个例子:

Dialog组件
<div class="container"><header><slot name="header"><p>我是默认标题</p></slot></header><div class="main"><slot></slot></div><footer><slot name="footer"><p>我是默认底部</p></slot></footer>
</div>

slot元素有一个属性name,它表示该slot的名字。一个不带name<slot>出口会带有隐含的名字default

父组件
<Dialog><template v-slot:header>父组件头部</template><p>父组件内容</p><template v-slot:footer>父组件底部</template>
</Dialog>

在向具名插槽提供内容的时候,可以在一个<template>元素上使用v-slot指令,并以v-slot的参数的形式提供其名称。任何没有被包裹在带有v-slot<template>中的内容都会被视为默认插槽的内容。
有一点需要注意的是,跟 v-onv-bind 一样,v-slot 也有缩写,这是2.6.0 新增,即把参数之前的所有内容 v-slot 替换为字符 #。例如 v-slot:header 可以被重写为 #header。最后的渲染结果如下:

<div class="container"><header>父组件头部</header><div class="main"><p>父组件内容</p></div><footer>父组件底部</footer>
</div>

vue中的slot——单个插槽和具名插槽相关推荐

  1. vue 中的插槽Slot基本使用和具名插槽

    一.插槽Slot的作用 1.为了让这个组件具备更强的通用性,我们不能将组件中的内容限制为固定的div.span等等这些元素: 2.比如某些情况下我们使用组件,希望组件显示的是一个按钮,某种情况下我们使 ...

  2. vue中的slot插槽

    1.无名插槽<body><div id="app">123</div><script src="https://cdn.jsde ...

  3. Vue —— 进阶插槽(slot)(默认插槽、具名插槽和作用域插槽)

    Vue全家桶 系列文章目录 内容 参考链接 Vue2.x - 基础 Vue2.x - 基础 Vue2.x - 进阶(零) 初始化脚手架 Vue2.x - 进阶(一) refs属性.props配置项 V ...

  4. [vue] slot插槽 默认插槽,具名插槽,作用域插槽

    文章目录 插槽 不使用插槽 效果 分析 默认插槽 效果 分析 具名插槽 效果 分析 作用域插槽 效果 分析 再次理解作用域插槽 代码: 默认插槽: 具名插槽 作用域插槽 插槽 作用:让父组件可以向子组 ...

  5. 深入理解vue中的slot与slot-scope

    写在前面 vue中关于插槽的文档说明很短,语言又写的很凝练,再加上其和methods,data,computed等常用选项在使用频率.使用先后上的差别,这就有可能造成初次接触插槽的开发者容易产生&qu ...

  6. slot属性值_深入理解vue中的slot与slot

    作者/云荒杯倾 写在前面 vue中关于插槽的文档说明很短,语言又写的很凝练,再加上其和methods,data,computed等常用选项使用频率.使用先后上的差别,这就有可能造成初次接触插槽的开发者 ...

  7. 深入理解vue中的slot与slot-scope (简单易懂)

    走在前端的大道上 插槽,也就是slot,是组件的一块HTML模板,这块模板显示不显示.以及怎样显示由父组件来决定. 实际上,一个slot最核心的两个问题在这里就点出来了,是显示不显示和怎样显示. 由于 ...

  8. Vue3 slot插槽——(默认插槽、具名插槽、作用域插槽)

    一.认识插槽Slot 在开发中,我们会经常封装一个个可复用的组件: 前面我们会通过props传递给组件一些数据,让组件来进行展示: 但是为了让这个组件具备更强的通用性,我们不能将组件中的内容限制为固定 ...

  9. Vue默认插槽、具名插槽、作用域插槽及使用作用域插槽删除列表项

    Vue默认插槽.具名插槽.作用域插槽及使用作用域插槽删除列表项 1. 默认插槽 父组件标签内写的所有内容都放在插槽中 父组件: <h1>我是父组件</h1><base-b ...

最新文章

  1. HarmonyOS UI开发 StackLayout(堆栈布局) 的使用
  2. 在Scrapy中使用Chrome中的cookie
  3. STM 32如何实现程序自加密
  4. 理解T-SQL:高级查询
  5. TK:绘制BoundaryEdges边界边用法实战
  6. P2286 [HNOI2004]宠物收养场
  7. android自定义控件是一个 内部类 如何在xml中引用,android 自定义view属性
  8. 【WebRTC---入门篇】(十)NAT
  9. 源码剖析 Netty 服务启动 NIO
  10. python使用小记2-csv文件处理
  11. 为VS2010添加背景图
  12. 白盒测试实践作业进度报告——Day 3
  13. python矩阵行秩函数_矩阵的秩的性质以及矩阵运算和矩阵的秩的关系
  14. 索尼电视android9,索尼电视系统更新通知:解决升级到安卓9.0版本后bug问题
  15. part-15 开环增益Avol
  16. 安卓逆向学习 之 KGB Messenger的writeup(1)
  17. 中标麒麟 NeoKylin-SDK 里都有哪些库文件
  18. 项目管理:成为项目经理,是怎样的经历?
  19. px和分辨率的关系总结
  20. php 英语自我介绍,工作英文自我介绍

热门文章

  1. 2018计算机全国考研学校排名,2018计算机专业学校考研难度排行榜,计算机考研难度排名...
  2. 显卡松动故障对系统的影响
  3. 2022 最新 Linux 面试题
  4. 道德经的读书笔记范文3300字
  5. 僵尸进程的产生与避免
  6. 计算机d盘被拒绝访问了怎么办,Win10系统D盘打不开提示拒绝访问如何解决
  7. 淘宝客户端多应用内置
  8. C语言基础14——文件操作。文本文件或二进制文件读写。通讯录的改造。文件缓冲区讲解
  9. 一款简单实用的视频分割软件,快速将一段视频分割成两段
  10. autoCAD 控制应用程序窗口 和 图形窗口