Vue中插槽slot的使用方法与应用场景详析


Posted in Vue.js onJune 08, 2021

什么是插槽?

我们知道在Vue中 Child 组件的标签 的中间是不可以包着什么的 。

Vue中插槽slot的使用方法与应用场景详析

可是往往在很多时候我们在使用组件的时候总想在组件间外面自定义一些标签,vue新增了一种插槽机制,叫做作用域插槽。要求的版本是2.1.0+;

插槽,其实就相当于占位符。它在组件中给你的HTML模板占了一个位置,让你来传入一些东西。插槽又分为 匿名插槽、具名插槽、作用域插槽。

在 2.6.0 中,我们为具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令)。它取代了 slot 和 slot-scope

匿名插槽

匿名插槽,我们也可以叫它单个插槽或者默认插槽。和具名插槽相对,它是不需要设置 name 属性的,它隐藏的name属性为default。

father.vue

Vue中插槽slot的使用方法与应用场景详析

child.vue

Vue中插槽slot的使用方法与应用场景详析

匿名插槽,name的属性对应的是 default 也可以不写就是默认的意思啦;

在使用的时候还有一个问题要注意的 如果是有2个以上的匿名插槽是会child标签里面的内容全部都替换到每个slot;

具名插槽 (vue2.6.0+被废弃的slot='name')

顾名思义就是slot 是带有name的 ,定义:  或者使用简单缩写的定义 #header 使用:要用一个 template标签包裹

father.vue

Vue中插槽slot的使用方法与应用场景详析

child.vue

Vue中插槽slot的使用方法与应用场景详析

这里说一下多个具名插槽的使用 多个具名插槽,插槽的位置不是使用插槽的位置而定的,是在定义的时候的位置来替换的

father.vue

Vue中插槽slot的使用方法与应用场景详析

child.vue

Vue中插槽slot的使用方法与应用场景详析

作用域插槽

就是用来传递数据的插槽

当你想在一个插槽中使用数据时,要注意一个问题作用域的问题,Vue 官方文档中说了父级模板里的所有内容都是在父级作用域中编译的;子模板里的所有内容都是在子作用域中编译的;

为了让 子组件中的数据 在父级的插槽 内容中可用我们可以将 数据 作为 元素的一个特性绑定上去: v-bind:text="text"

注意:

匿名的作用域插槽和具名的作用域插槽 区别在v-slot:defult="接受的名称"(defult(匿名的可以不写,具名的相反要写的是对应的name))

v-solt可以解构接收 解构接收的字段要和传的字段一样才可以 例如 :one 对应 v-slot="{one}"

Vue中插槽slot的使用方法与应用场景详析

效果图

Vue中插槽slot的使用方法与应用场景详析

总结

到此这篇关于Vue中插槽slot的使用方法与应用场景的文章就介绍到这了,更多相关Vue插槽slot用法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Vue.js 相关文章推荐
vue+iview实现文件上传
Nov 17 Vue.js
vue3.0中setup使用(两种用法)
Dec 02 Vue.js
Vue使用鼠标在Canvas上绘制矩形
Dec 24 Vue.js
vue 页面跳转的实现方式
Jan 12 Vue.js
Vue页面渲染中key的应用实例教程
Jan 12 Vue.js
Vue ​v-model相关知识总结
Jan 28 Vue.js
学习 Vue.js 遇到的那些坑
Feb 02 Vue.js
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
Mar 01 Vue.js
关于Vue Router的10条高级技巧总结
May 06 Vue.js
Vue图片裁剪组件实例代码
Jul 02 Vue.js
vue组件冲突之引用另一个组件出现组件不显示的问题
Apr 13 Vue.js
Vue深入理解插槽slot的使用
Aug 05 Vue.js
vue+elementui 实现新增和修改共用一个弹框的完整代码
解决vue $http的get和post请求跨域问题
vue Element-ui表格实现树形结构表格
Jun 07 #Vue.js
Vue中foreach数组与js中遍历数组的写法说明
Jun 05 #Vue.js
vue响应式原理与双向数据的深入解析
vue实现水波涟漪效果的点击反馈指令
vue 实现上传组件
May 31 #Vue.js
You might like
PHP网站备份程序代码分享
2011/06/10 PHP
PHP 第三节 变量介绍
2012/04/28 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
2013/07/01 PHP
分享3个php获取日历的函数
2015/09/25 PHP
Maps Javascript
2007/01/22 Javascript
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
jquery dialog open后,服务器端控件失效的快速解决方法
2013/12/19 Javascript
Vue.js 2.0学习教程之从基础到组件详解
2017/04/24 Javascript
JS Testing Properties 判断属性是否在对象里的方法
2017/10/01 Javascript
Vue中使用webpack别名的方法实例详解
2018/06/19 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
vue配置接口域名方法总结
2019/05/12 Javascript
jquery实现点击左右按钮切换图片
2021/01/27 jQuery
[46:44]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第二场 3月7日
2021/03/11 DOTA
Python文档生成工具pydoc使用介绍
2015/06/02 Python
python学习之编写查询ip程序
2016/02/27 Python
Python中取整的几种方法小结
2017/01/06 Python
如何高效使用Python字典的方法详解
2017/08/31 Python
基于Django的python验证码(实例讲解)
2017/10/23 Python
python使用xlsxwriter实现有向无环图到Excel的转换
2018/12/12 Python
python爬虫解决验证码的思路及示例
2019/08/01 Python
python的json包位置及用法总结
2020/06/21 Python
使用Html5实现异步上传文件,支持跨域,带有上传进度条
2016/09/17 HTML / CSS
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
毕业生动漫设计求职信
2013/10/11 职场文书
教师实习自我鉴定
2013/12/11 职场文书
管理学专业个人求职信范文
2013/12/13 职场文书
治超工作实施方案
2014/05/04 职场文书
国际贸易系求职信
2014/08/09 职场文书
安全事故隐患排查治理制度
2015/08/05 职场文书
2016年乡镇综治宣传月活动总结
2016/03/16 职场文书
Redis6.0搭建集群Redis-cluster的方法
2021/05/08 Redis
MySQL慢查询优化解决问题
2022/03/17 MySQL
微信小程序APP页面的之间的相互传递参数以及自定义组件
2022/04/19 Javascript