浅析vue插槽和作用域插槽的理解


Posted in Javascript onApril 22, 2019

插槽:

插槽,也就是slot,是组件的一块HTML模板,这块模板显示不现实、以及怎样显示由父组件来决定。

插槽模板是slot,它是一个空壳子,因为它显示与隐藏以及最后用什么样的html模板显示由父组件控制。但是插槽显示的位置由子组件自身决定,slot写在组件template的哪块,父组件传过来的模板将来就显示在哪块。这样就使组件可复用性更高,更加灵活。我们可以随时通过父组件给子组件加一些需要的东西。

这个可以参考https://3water.com/article/160047.htm。这位作者写的很详细。

作用域插槽:

插槽可以控制html模板的显示与不显示。作用域插槽其实就是带数据的插槽。

原来父组件可以通过绑定数据传递给子组件。作用域插槽就可以通过子组件绑定数据传递给父组件。

<ul>
 <li
 v-for="todo in todos"
 v-bind:key="todo.id"
 >
 <!-- 我们为每个 todo 准备了一个插槽,-->
 <!-- 将 `todo` 对象作为一个插槽的 prop 传入。-->
 <slot v-bind:todo="todo">
  <!-- 回退的内容 -->
  {{ todo.text }}
 </slot>
 </li>
</ul>
<todo-list v-bind:todos="todos">
 <!-- 将 `slotProps` 定义为插槽作用域的名字 -->
 <template slot-scope="slotProps">
 <!-- 为待办项自定义一个模板,-->
 <!-- 通过 `slotProps` 定制每个待办项。-->
 <span v-if="slotProps.todo.isComplete">✓</span>
 {{ slotProps.todo.text }}
 </template>
</todo-list>

slot-scope就相当于是一个对象,这个对象里面的数据就是子组件插槽绑定传上来了。

在vue 2.5.0+ slot-scope不再限制在<template>元素上使用,而可以用在插槽内的任何元素或组件上。

总结

以上所述是小编给大家介绍的vue插槽和作用域插槽的理解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
IE与firefox下Dhtml的一些区别小结
Dec 02 Javascript
使用JQUERY Tabs插件宿主IFRAMES
Jan 01 Javascript
ExtJS4中的requires使用方法示例介绍
Dec 03 Javascript
JavaScript学习笔记之ES6数组方法
Mar 25 Javascript
使用BootStrap建立响应式网页——通栏轮播图(carousel)
Dec 21 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
Sep 19 Javascript
React Native悬浮按钮组件的示例代码
Apr 05 Javascript
layui表单验证select下拉框实现验证的方法
Sep 05 Javascript
layui扩展上传组件模拟进度条的方法
Sep 23 Javascript
15分钟学会vue项目改造成SSR(小白教程)
Dec 17 Javascript
小程序websocket心跳库(websocket-heartbeat-miniprogram)
Feb 23 Javascript
canvas 中如何实现物体的框选
Aug 05 Javascript
详解50行代码,Node爬虫练手项目
Apr 22 #Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
Apr 22 #Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
Apr 22 #Javascript
详解Node.js一行命令上传本地文件到服务器
Apr 22 #Javascript
使用 vue 实例更好的监听事件及vue实例的方法
Apr 22 #Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
Apr 22 #Javascript
关于vue-cli 3配置打包优化要点(推荐)
Apr 22 #Javascript
You might like
推荐php模板技术[转]
2007/01/04 PHP
利用PHP和AJAX创建RSS聚合器的代码
2007/03/13 PHP
php iconv() : Detected an illegal character in input string
2010/12/05 PHP
php对象和数组相互转换的方法
2015/05/12 PHP
PHP创建单例后台进程的方法示例
2017/05/23 PHP
PHP中单例模式的使用场景与使用方法讲解
2019/03/18 PHP
JavaScript 高级篇之函数 (四)
2012/04/07 Javascript
JavaScript中的Web worker多线程API研究
2014/12/06 Javascript
jQuery实现图片左右滚动特效
2020/04/20 Javascript
Bootstrap学习笔记之css样式设计(2)
2016/06/07 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
2018/01/07 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
详解小程序之简单登录注册表单验证
2019/05/13 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
[02:25]DOTA2英雄基础教程 熊战士
2014/01/03 DOTA
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
Python制作简单的网页爬虫
2015/11/22 Python
Python如何获取系统iops示例代码
2016/09/06 Python
Python解惑之整数比较详解
2017/04/24 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
2018/10/18 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
2019/08/20 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
Python字符串及文本模式方法详解
2020/09/10 Python
多视角3D逼真HTML5水波动画
2016/03/03 HTML / CSS
AmazeUI 按钮交互的实现示例
2020/08/24 HTML / CSS
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
高三英语教学反思
2014/01/13 职场文书
综合办公室主任岗位职责
2014/04/13 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
2015年乡镇平安建设工作总结
2015/05/13 职场文书
小孩不笨观后感
2015/06/03 职场文书
运动会通讯稿200字
2015/07/20 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
Html5新增了哪些功能
2021/04/16 HTML / CSS
Jedis操作Redis实现模拟验证码发送功能
2021/09/25 Redis
基于Python实现一个春节倒计时脚本
2022/01/22 Python