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 02 Vue.js
vue3.0自定义指令(drectives)知识点总结
Dec 27 Vue.js
vue element和nuxt的使用技巧分享
Jan 14 Vue.js
vue使用过滤器格式化日期
Jan 20 Vue.js
如何在vue 中使用柱状图 并自修改配置
Jan 21 Vue.js
Vue中的nextTick作用和几个简单的使用场景
Jan 25 Vue.js
vue3.0中使用element的完整步骤
Mar 04 Vue.js
Vue实现下拉加载更多
May 09 Vue.js
vue基于Teleport实现Modal组件
May 31 Vue.js
Vue OpenLayer 为地图绘制风场效果
Apr 24 Vue.js
vue css 相对路径导入问题级踩坑记录
Jun 05 Vue.js
Vue Element plus使用方法梳理
Dec 24 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
各种战术和打法的原创者
2020/03/04 星际争霸
解析用PHP实现var_export的详细介绍
2013/06/20 PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
2013/06/24 PHP
php+curl 发送图片处理代码分享
2015/07/09 PHP
js函数使用技巧之 setTimeout(function(){},0)
2009/02/09 Javascript
利用js的Node遍历找到repeater的一个字段实例介绍
2013/04/25 Javascript
基于JavaScript 声明全局变量的三种方式详解
2013/05/07 Javascript
CSS3实现动态背景登录框的代码
2015/07/28 Javascript
js判断子窗体是否关闭的方法
2015/08/11 Javascript
JS实现的简单鼠标跟随DiV层效果完整实例
2015/10/31 Javascript
AngularJS入门教程之AngularJS模型
2016/04/18 Javascript
Bootstrap每天必学之警告框插件
2016/04/26 Javascript
jQuery dataTables与jQuery UI 对话框dialog的使用教程
2016/09/02 Javascript
详解Nodejs基于mongoose模块的增删改查的操作
2016/12/21 NodeJs
完美解决jQuery的hover事件在IE中不停闪动的问题
2017/02/10 Javascript
JavaScript实现自动跳转文本功能
2017/05/25 Javascript
详解webpack 如何集成第三方js库
2017/06/29 Javascript
NodeJS实现自定义流的方法
2018/08/01 NodeJs
vue-cli项目修改文件热重载失效的解决方法
2018/09/19 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
2019/04/09 Javascript
BootstrapValidator验证用户名已存在(ajax)
2019/11/08 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
Python可变参数函数用法实例
2015/07/07 Python
python编写微信公众号首图思路详解
2019/12/13 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
2020/01/13 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
2020/02/15 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
Python魔术方法专题
2020/06/19 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
python推导式的使用方法实例
2021/02/28 Python
办公室文秘自我鉴定
2013/09/21 职场文书
应届生会计电算化求职信
2013/10/03 职场文书
司机工作自我鉴定
2014/09/19 职场文书
公司催款律师函
2015/05/27 职场文书
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫