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 相关文章推荐
快速解决vue2+vue-cli3项目ie兼容的问题
Nov 17 Vue.js
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
Nov 20 Vue.js
解决vue页面刷新,数据丢失的问题
Nov 24 Vue.js
vue + el-form 实现的多层循环表单验证
Nov 25 Vue.js
vue-router定义元信息meta操作
Dec 07 Vue.js
vue绑定class的三种方法
Dec 24 Vue.js
vue实现简易的双向数据绑定
Dec 29 Vue.js
vue3中的组件间通信
Mar 31 Vue.js
Vue Element UI自定义描述列表组件
May 18 Vue.js
Vue3如何理解ref toRef和toRefs的区别
Feb 18 Vue.js
如何优化vue打包文件过大
Apr 13 Vue.js
vue+elementUI实现表格列的显示与隐藏
Apr 13 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下几个常用的去空、分组、调试数组函数
2009/02/22 PHP
PHP 定界符 使用技巧
2009/06/14 PHP
PHP正则表达式入门教程(推荐)
2016/05/18 PHP
PHP使用函数用法详解
2018/09/30 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
2020/05/12 PHP
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
2016/06/21 Javascript
JS中this上下文对象使用方式
2016/10/09 Javascript
JS实现图片上传预览功能
2016/11/21 Javascript
js 判断数据类型的几种方法
2017/01/13 Javascript
微信小程序 在线支付功能的实现
2017/03/14 Javascript
vue中用动态组件实现选项卡切换效果
2017/03/25 Javascript
vue表单数据交互提交演示教程
2019/11/13 Javascript
使用element-ui +Vue 解决 table 里包含表单验证的问题
2020/07/17 Javascript
vue使用screenfull插件实现全屏功能
2020/09/17 Javascript
vue+vant 上传图片需要注意的地方
2021/01/03 Vue.js
[31:29]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第一场 12.20
2020/12/23 DOTA
python插入排序算法的实现代码
2013/11/21 Python
Python3学习urllib的使用方法示例
2017/11/29 Python
Python爬虫之pandas基本安装与使用方法示例
2018/08/08 Python
学习python可以干什么
2019/02/26 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
2019/08/31 Python
html5 Canvas画图教程(2)—画直线与设置线条的样式如颜色/端点/交汇点
2013/01/09 HTML / CSS
Levi’s美国官网:美国著名的牛仔裤品牌
2016/08/19 全球购物
Bailey帽子官方商店:Bailey Hats
2018/09/25 全球购物
世界领先的豪华床上用品供应商之一:Bedeck Home
2019/03/18 全球购物
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
犯错检讨书
2014/02/21 职场文书
竞争上岗演讲稿范文
2014/05/12 职场文书
食品科学与工程专业毕业生求职信范文
2014/07/21 职场文书
车辆年审委托书范本
2014/09/18 职场文书
拾金不昧表扬稿
2015/01/16 职场文书
会议通知范文
2015/04/15 职场文书
闪闪红星观后感
2015/06/08 职场文书
2016大一新生军训心得体会
2016/01/11 职场文书
Docker安装MySql8并远程访问的实现
2022/07/07 Servers