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
vue实现滚动鼠标滚轮切换页面
Dec 13 Vue.js
vue的hash值原理也是table切换实例代码
Dec 14 Vue.js
Vue解决移动端弹窗滚动穿透问题
Dec 15 Vue.js
vue 通过base64实现图片下载功能
Dec 19 Vue.js
vue el-upload上传文件的示例代码
Dec 21 Vue.js
vue 动态生成拓扑图的示例
Jan 03 Vue.js
vue二选一tab栏切换新做法实现
Jan 19 Vue.js
vue 中 get / delete 传递数组参数方法
Mar 23 Vue.js
解决Vue+SpringBoot+Shiro跨域问题
Jun 09 Vue.js
Vue实现跑马灯样式文字横向滚动
Nov 23 Vue.js
Vue.Draggable实现交换位置
Apr 07 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
成本8450万,票房仅2亿,口碑两极分化,又一部DC电影扑街了
2020/04/09 欧美动漫
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
2011/06/30 PHP
php 字符串压缩方法比较示例
2014/01/23 PHP
orm获取关联表里的属性值
2016/04/17 PHP
windows7配置Nginx+php+mysql的详细教程
2016/09/04 PHP
PHP后端银联支付及退款实例代码
2017/06/23 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
前台js调用后台方法示例
2013/12/02 Javascript
借助JavaScript脚本判断浏览器Flash Player信息的方法
2014/07/09 Javascript
JS实现动态给图片添加边框的方法
2015/04/01 Javascript
由ReactJS的Hello world说开来
2015/07/02 Javascript
javascript中tostring()和valueof()的用法及两者的区别
2015/11/16 Javascript
JS在一定时间内跳转页面及各种刷新页面的实现方法
2016/05/26 Javascript
Webpack框架核心概念(知识点整理)
2017/12/22 Javascript
Vue 项目分环境打包的方法示例
2018/08/03 Javascript
微信小程序实现跑马灯效果
2020/10/21 Javascript
监控Nodejs的性能实例代码
2019/07/02 NodeJs
ES6新增的数组知识实例小结
2020/05/23 Javascript
JS获取当前时间戳方法解析
2020/08/29 Javascript
js正则表达式简单校验方法
2021/01/03 Javascript
Python基础知识_浅谈用户交互
2017/05/31 Python
Python利用turtle库绘制彩虹代码示例
2017/12/20 Python
python数据抓取分析的示例代码(python + mongodb)
2017/12/25 Python
Python面向对象之类和对象属性的增删改查操作示例
2018/12/14 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
django项目中新增app的2种实现方法
2020/04/01 Python
python tkinter实现连连看游戏
2020/11/16 Python
简洁自适应404页面HTML好看的404源码
2020/12/16 HTML / CSS
Woolworth官网:澳洲第一大超市
2017/06/25 全球购物
DIY蛋糕店的创业计划书范文
2013/12/26 职场文书
妇产医师自荐信
2014/01/29 职场文书
中学生家长评语大全
2014/04/16 职场文书
关于读书的演讲稿800字
2014/08/27 职场文书
Android基于Fresco实现圆角和圆形图片
2022/04/01 Java/Android