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
8个非常实用的Vue自定义指令
Dec 15 Vue.js
如何在vue中使用kindeditor富文本编辑器
Dec 19 Vue.js
vue实现简易的双向数据绑定
Dec 29 Vue.js
vue实现可移动的悬浮按钮
Mar 04 Vue.js
vue中data改变后让视图同步更新的方法
Mar 29 Vue.js
Vue中插槽slot的使用方法与应用场景详析
Jun 08 Vue.js
Vue鼠标滚轮滚动切换路由效果的实现方法
Aug 04 Vue.js
vue实现列表拖拽排序的示例代码
Apr 08 Vue.js
vue3引入highlight.js进行代码高亮的方法实例
Apr 08 Vue.js
vue 把二维或多维数组转一维数组
Apr 24 Vue.js
vue实现登陆页面开发实践
May 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
php array_map()数组函数使用说明
2011/07/12 PHP
php float不四舍五入截取浮点型字符串方法总结
2013/10/28 PHP
ThinkPHP缓存方法S()概述
2014/06/13 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
IE浏览器PNG图片透明效果代码
2008/09/02 Javascript
JQuery下关于$.Ready()的分析
2009/12/13 Javascript
一个收集图片的bookmarlet(js 刷新页面中的图片)
2010/05/27 Javascript
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
js 字符串转换成数字的三种方法
2013/03/23 Javascript
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
javascript实现10个球随机运动、碰撞实例详解
2015/07/08 Javascript
JavaScript精炼之构造函数 Constructor及Constructor属性详解
2015/11/05 Javascript
使用bootstrapValidator插件进行动态添加表单元素并校验
2016/09/28 Javascript
微信小程序 仿美团分类菜单 swiper分类菜单
2017/04/12 Javascript
ionic3+Angular4实现接口请求及本地json文件读取示例
2017/10/11 Javascript
nodejs实现OAuth2.0授权服务认证
2017/12/27 NodeJs
AngularJS基于MVC的复杂操作实例讲解
2017/12/31 Javascript
LayerClose弹窗关闭刷新方法
2018/08/17 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
2018/11/27 Javascript
详解nginx配置vue h5 history去除#号
2020/11/09 Javascript
Python高级特性切片(Slice)操作详解
2018/09/27 Python
在python中pandas的series合并方法
2018/11/12 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
2018/11/30 Python
Python类的绑定方法和非绑定方法实例解析
2020/03/04 Python
高品质和独特的产品世界:Creations and Collections
2018/01/07 全球购物
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
The North Face意大利官网:服装、背包和鞋子
2020/06/17 全球购物
国税会议欢迎词
2014/01/16 职场文书
行政人事岗位职责
2014/03/17 职场文书
处级干部反四风个人对照检查材料思想汇报
2014/09/27 职场文书
拾金不昧通报表扬范文
2015/05/05 职场文书
返乡农民工证明
2015/06/24 职场文书
运动会闭幕式致辞
2015/07/29 职场文书
JavaScript+HTML实现学生信息管理系统
2021/04/20 Javascript
golang中的struct操作
2021/11/11 Golang