vue中的slot——单个插槽和具名插槽
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-on
和 v-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——单个插槽和具名插槽相关推荐
- vue 中的插槽Slot基本使用和具名插槽
一.插槽Slot的作用 1.为了让这个组件具备更强的通用性,我们不能将组件中的内容限制为固定的div.span等等这些元素: 2.比如某些情况下我们使用组件,希望组件显示的是一个按钮,某种情况下我们使 ...
- vue中的slot插槽
1.无名插槽<body><div id="app">123</div><script src="https://cdn.jsde ...
- Vue —— 进阶插槽(slot)(默认插槽、具名插槽和作用域插槽)
Vue全家桶 系列文章目录 内容 参考链接 Vue2.x - 基础 Vue2.x - 基础 Vue2.x - 进阶(零) 初始化脚手架 Vue2.x - 进阶(一) refs属性.props配置项 V ...
- [vue] slot插槽 默认插槽,具名插槽,作用域插槽
文章目录 插槽 不使用插槽 效果 分析 默认插槽 效果 分析 具名插槽 效果 分析 作用域插槽 效果 分析 再次理解作用域插槽 代码: 默认插槽: 具名插槽 作用域插槽 插槽 作用:让父组件可以向子组 ...
- 深入理解vue中的slot与slot-scope
写在前面 vue中关于插槽的文档说明很短,语言又写的很凝练,再加上其和methods,data,computed等常用选项在使用频率.使用先后上的差别,这就有可能造成初次接触插槽的开发者容易产生&qu ...
- slot属性值_深入理解vue中的slot与slot
作者/云荒杯倾 写在前面 vue中关于插槽的文档说明很短,语言又写的很凝练,再加上其和methods,data,computed等常用选项使用频率.使用先后上的差别,这就有可能造成初次接触插槽的开发者 ...
- 深入理解vue中的slot与slot-scope (简单易懂)
走在前端的大道上 插槽,也就是slot,是组件的一块HTML模板,这块模板显示不显示.以及怎样显示由父组件来决定. 实际上,一个slot最核心的两个问题在这里就点出来了,是显示不显示和怎样显示. 由于 ...
- Vue3 slot插槽——(默认插槽、具名插槽、作用域插槽)
一.认识插槽Slot 在开发中,我们会经常封装一个个可复用的组件: 前面我们会通过props传递给组件一些数据,让组件来进行展示: 但是为了让这个组件具备更强的通用性,我们不能将组件中的内容限制为固定 ...
- Vue默认插槽、具名插槽、作用域插槽及使用作用域插槽删除列表项
Vue默认插槽.具名插槽.作用域插槽及使用作用域插槽删除列表项 1. 默认插槽 父组件标签内写的所有内容都放在插槽中 父组件: <h1>我是父组件</h1><base-b ...
最新文章
- HarmonyOS UI开发 StackLayout(堆栈布局) 的使用
- 在Scrapy中使用Chrome中的cookie
- STM 32如何实现程序自加密
- 理解T-SQL:高级查询
- TK:绘制BoundaryEdges边界边用法实战
- P2286 [HNOI2004]宠物收养场
- android自定义控件是一个 内部类 如何在xml中引用,android 自定义view属性
- 【WebRTC---入门篇】(十)NAT
- 源码剖析 Netty 服务启动 NIO
- python使用小记2-csv文件处理
- 为VS2010添加背景图
- 白盒测试实践作业进度报告——Day 3
- python矩阵行秩函数_矩阵的秩的性质以及矩阵运算和矩阵的秩的关系
- 索尼电视android9,索尼电视系统更新通知:解决升级到安卓9.0版本后bug问题
- part-15 开环增益Avol
- 安卓逆向学习 之 KGB Messenger的writeup(1)
- 中标麒麟 NeoKylin-SDK 里都有哪些库文件
- 项目管理:成为项目经理,是怎样的经历?
- px和分辨率的关系总结
- php 英语自我介绍,工作英文自我介绍