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+vant实现购物车全选和反选功能
Nov 17 Vue.js
vue使用exif获取图片旋转,压缩的示例代码
Dec 11 Vue.js
vue中配置scss全局变量的步骤
Dec 28 Vue.js
Vue使用Ref跨层级获取组件的步骤
Jan 25 Vue.js
vue 组件基础知识总结
Jan 26 Vue.js
Vue中使用wangeditor富文本编辑的问题
Feb 07 Vue.js
Vue实现下拉加载更多
May 09 Vue.js
Vue3.0 手写放大镜效果
Jul 25 Vue.js
三种方式清除vue路由跳转router-link的历史记录
Apr 10 Vue.js
vue 把二维或多维数组转一维数组
Apr 24 Vue.js
vue.js 使用原生js实现轮播图
Apr 26 Vue.js
解决vue自定义组件@click点击失效问题
Apr 30 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
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
PHP在线生成二维码(google api)的实现代码详解
2013/06/04 PHP
PHP 循环删除无限分类子节点的实现代码
2013/06/21 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
VBScript版代码高亮
2006/06/26 Javascript
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
jquery 动态创建元素的方式介绍及应用
2013/04/21 Javascript
js动态添加onclick事件可传参数与不传参数
2014/07/29 Javascript
简介JavaScript中setUTCSeconds()方法的使用
2015/06/12 Javascript
JQuery中ajax方法访问web服务实例
2015/07/18 Javascript
JavaScript常用标签和方法总结
2015/09/01 Javascript
实例解析jQuery插件EasyUI最常用的表单验证规则
2015/11/29 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
js实现select二级联动下拉菜单
2020/04/17 Javascript
AngularJs  Using $location详解及示例代码
2016/09/02 Javascript
值得分享的Bootstrap Table使用教程
2016/11/23 Javascript
详解nodejs通过代理(proxy)发送http请求(request)
2017/09/22 NodeJs
JavaScript中的一些隐式转换和总结(推荐)
2017/12/22 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
2018/12/28 Javascript
JS sort方法基于数组对象属性值排序
2020/07/10 Javascript
[07:20]2014DOTA2西雅图国际邀请赛 选手讲解积分赛第二天
2014/07/11 DOTA
[01:08:24]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第一场 2月5日
2021/03/11 DOTA
python时间整形转标准格式的示例分享
2014/02/14 Python
Python实现简单的代理服务器
2015/07/25 Python
利用Python正则表达式过滤敏感词的方法
2019/01/21 Python
pycharm new project变成灰色的解决方法
2019/06/27 Python
python按行读取文件并找出其中指定字符串
2019/08/08 Python
django序列化serializers过程解析
2019/12/14 Python
Python collections.deque双边队列原理详解
2020/10/05 Python
HTML5 canvas基本绘图之图形变换
2016/06/27 HTML / CSS
Bravofly德国:预订廉价航班和酒店
2019/09/22 全球购物
android面试问题与答案
2016/12/27 面试题
高中生家长寄语大全
2014/04/03 职场文书
刑事法律意见书
2015/06/04 职场文书
委托开发合同书(标准版)
2019/08/07 职场文书
详解Java线程池是如何重复利用空闲线程的
2021/06/26 Java/Android