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 29 Vue.js
vue 实现图片懒加载功能
Dec 31 Vue.js
vue.js watch经常失效的场景与解决方案
Jan 07 Vue.js
详解为什么Vue中的v-if和v-for不建议一起用
Jan 13 Vue.js
vue二选一tab栏切换新做法实现
Jan 19 Vue.js
vue使用过滤器格式化日期
Jan 20 Vue.js
深入了解Vue动态组件和异步组件
Jan 26 Vue.js
vue实现轮播图帧率播放
Jan 26 Vue.js
vue路由实现登录拦截
Mar 24 Vue.js
如何理解Vue前后端数据交互与显示
May 10 Vue.js
vue响应式原理与双向数据的深入解析
Jun 04 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
磨咖啡豆的密诀
2021/03/03 冲泡冲煮
如何实现给定日期的若干天以后的日期
2006/10/09 PHP
php Http_Template_IT类库进行模板替换
2009/03/19 PHP
PHP中使用mktime获取时间戳的一个黑色幽默分析
2012/05/31 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
2013/02/14 PHP
PHP中Session可能会引起并发问题
2015/06/26 PHP
php 生成Tab键或逗号分隔的CSV
2016/09/24 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
Javascript 继承实现例子
2009/08/12 Javascript
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
js分解url参数(面向对象-极简主义法应用)
2012/08/09 Javascript
js左右弹性滚动对联广告代码分享
2014/02/19 Javascript
js实现网站最上边可关闭的浮动广告条代码
2015/09/04 Javascript
微信小程序 location API实例详解
2016/10/02 Javascript
JS动态给对象添加属性和值的实现方法
2016/10/21 Javascript
鼠标经过出现气泡框的简单实例
2017/03/17 Javascript
Swiper实现轮播图效果
2017/07/03 Javascript
简单介绍react redux的中间件的使用
2018/04/06 Javascript
17道题让你彻底理解JS中的类型转换
2019/08/08 Javascript
Python中属性和描述符的正确使用
2016/08/23 Python
Python实现k-means算法
2018/02/23 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
python列表使用实现名字管理系统
2019/01/30 Python
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
Python内置random模块生成随机数的方法
2019/05/31 Python
python通过cython加密代码
2020/12/11 Python
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
美国中西部家用医疗设备商店:Med Mart(轮椅、踏板车、升降机等)
2019/04/26 全球购物
区优秀教师事迹材料
2014/02/10 职场文书
个人承诺书
2014/03/26 职场文书
机电一体化专业求职信
2014/07/22 职场文书
校友回访母校寄语
2015/02/26 职场文书
教师培训学习心得体会
2016/01/21 职场文书
教师师德承诺书2016
2016/03/25 职场文书
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis