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 组件注册全解析
Dec 17 Vue.js
Vue实现小购物车功能
Dec 21 Vue.js
vue导入.md文件的步骤(markdown转HTML)
Dec 31 Vue.js
vue使用transition组件动画效果的实例代码
Jan 28 Vue.js
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
Feb 26 Vue.js
原生JS封装vue Tab切换效果
Apr 28 Vue.js
vue实现简单数据双向绑定
Apr 28 Vue.js
Vue项目打包、合并及压缩优化网页响应速度
Jul 07 Vue.js
vue项目支付功能代码详解
Feb 18 Vue.js
Vue elementUI表单嵌套表格并对每行进行校验详解
Feb 18 Vue.js
vue+elementUI实现表格列的显示与隐藏
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中的字符串函数
2006/10/09 PHP
codeigniter数据库操作函数汇总
2014/06/12 PHP
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
2015/01/20 PHP
PHP yii实现model添加默认值的方法(两种方法)
2016/11/10 PHP
脚本吧 - 幻宇工作室用到js,超强推荐base.js
2006/12/23 Javascript
JavaScript使用prototype定义对象类型
2007/02/07 Javascript
JS Excel读取和写入操作(模板操作)实现代码
2010/04/11 Javascript
仅IE支持clearAttributes/mergeAttributes方法使用介绍
2012/05/04 Javascript
js中prototype用法详细介绍
2013/11/14 Javascript
使用JS+plupload直接批量上传图片到又拍云
2014/12/01 Javascript
angular学习之从零搭建一个angular4.0项目
2017/07/10 Javascript
vue中$refs的用法及作用详解
2018/04/24 Javascript
node.js环境搭建图文详解
2018/09/19 Javascript
js神秘的电报密码 哈弗曼编码实现
2019/09/10 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
[45:17]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第三场 1月9日
2021/03/11 DOTA
Python open读写文件实现脚本
2008/09/06 Python
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
python 统计代码行数简单实例
2017/05/04 Python
python获取url的返回信息方法
2018/12/17 Python
Python 从一个文件中调用另一个文件的类方法
2019/01/10 Python
python调用百度地图WEB服务API获取地点对应坐标值
2019/01/16 Python
学习python分支结构
2019/05/17 Python
python cumsum函数的具体使用
2019/07/29 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
2019/09/04 Python
keras 权重保存和权重载入方式
2020/05/21 Python
利用python 下载bilibili视频
2020/11/13 Python
Julep官网:美容产品和指甲油
2017/02/25 全球购物
数控专业推荐信范文
2013/12/02 职场文书
战略合作意向书范本
2014/04/01 职场文书
计算机专业应届生求职信
2014/04/06 职场文书
募捐倡议书
2014/04/14 职场文书
团结就是力量演讲稿
2014/05/21 职场文书
2016应届毕业生实习评语
2015/12/01 职场文书
2016学习全国教书育人楷模先进事迹心得体会
2016/01/21 职场文书
sql查询语句之平均分、最高最低分及排序语句
2022/05/30 MySQL