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 插槽简介及使用示例
Nov 19 Vue.js
vuex的使用和简易实现
Jan 07 Vue.js
vue 页面跳转的实现方式
Jan 12 Vue.js
vue监听键盘事件的相关总结
Jan 29 Vue.js
Vue包大小优化的实现(从1.72M到94K)
Feb 18 Vue.js
关于Vue Router的10条高级技巧总结
May 06 Vue.js
Vue Element UI自定义描述列表组件
May 18 Vue.js
vue-cropper插件实现图片截取上传组件封装
May 27 Vue.js
vue项目多环境配置(.env)的实现
Jul 21 Vue.js
vue实现拖拽交换位置
Apr 07 Vue.js
vue判断按钮是否可以点击
Apr 09 Vue.js
vue代码分块和懒加载非必要资源文件
Apr 11 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实现的交通银行网银在线支付接口ECSHOP插件和使用例子
2014/05/10 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
PHP大文件切割上传功能实例分析
2019/07/01 PHP
JavaScript中继承的一些示例方法与属性参考
2010/08/07 Javascript
菜鸟学习JavaScript小实验之函数引用
2010/11/17 Javascript
js设置document.domain实现跨域的注意点分析
2015/05/21 Javascript
javascript基础知识分享之类与函数化
2016/02/13 Javascript
Bootstrap入门书籍之(零)Bootstrap简介
2016/02/17 Javascript
nodejs中解决异步嵌套循环和循环嵌套异步的问题
2017/07/12 NodeJs
详解vue-cli 本地开发mock数据使用方法
2018/05/29 Javascript
Angular6 写一个简单的Select组件示例
2018/08/20 Javascript
详解node.js 事件循环
2020/07/22 Javascript
详解JavaScript类型判断的四种方法
2020/10/21 Javascript
[35:55]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.11
2020/12/13 DOTA
[50:50]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.20
2020/12/23 DOTA
rhythmbox中文名乱码问题解决方法
2008/09/06 Python
python通过wxPython打开一个音频文件并播放的方法
2015/03/25 Python
Python切片知识解析
2016/03/06 Python
python3获取两个日期之间所有日期,以及比较大小的实例
2018/04/08 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
Jupyter Notebook输出矢量图实例
2020/04/14 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
2020/06/18 Python
基于css3 animate制作绚丽的动画效果
2015/11/24 HTML / CSS
CSS3制作皮卡丘动画壁纸的示例
2020/11/02 HTML / CSS
俄罗斯珠宝市场的领导者之一:Бронницкий ювелир
2019/10/02 全球购物
教育系毕业生中文求职信范文
2013/10/06 职场文书
毕业生求职简历的自我评价
2013/10/23 职场文书
技术总监管理职责范本
2014/03/06 职场文书
道路建设实施方案
2014/03/18 职场文书
保险公司早会主持词
2014/03/22 职场文书
2014民事授权委托书范本
2014/09/29 职场文书
新郎新娘答谢词
2015/01/04 职场文书
远程教育学习心得体会
2016/01/23 职场文书
2019年幼儿园家长接送责任书
2019/10/29 职场文书
python - timeit 时间模块
2021/04/06 Python
详解Nginx的超时keeplive_timeout配置步骤
2022/05/25 Servers