浅析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 相关文章推荐
JS target与currentTarget区别说明
Aug 28 Javascript
javascript动态加载二
Aug 22 Javascript
js indexOf()定义和用法
Oct 21 Javascript
Jquery设置attr的disabled属性控制某行显示或者隐藏
Sep 25 Javascript
Vue监听数据对象变化源码
Mar 09 Javascript
AngularJs实现聊天列表实时刷新功能
Jun 15 Javascript
Vue项目中引入外部文件的方法(css、js、less)
Jul 24 Javascript
react-native使用leanclound消息推送的方法
Aug 06 Javascript
ndm:NPM的桌面GUI应用程序
Oct 15 Javascript
vue滑动吸顶及锚点定位的示例代码
May 10 Javascript
vue 扩展现有组件的操作
Aug 14 Javascript
Vue 实现一个简单的鼠标拖拽滚动效果插件
Dec 10 Vue.js
详解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 正则学习实例
2008/07/30 PHP
用php实现百度网盘图片直链的代码分享
2012/11/01 PHP
使用正则去除php代码中的注释方法
2016/11/03 PHP
Yii框架实现多数据库配置和操作的方法
2017/05/25 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
2019/04/15 PHP
js中字符替换函数String.replace()使用技巧
2011/08/14 Javascript
原生js实现shift/ctrl/alt按键的获取
2013/04/08 Javascript
javascript 3d 逐侦产品展示(核心精简)
2014/03/26 Javascript
EasyUI中combobox默认值注意事项
2015/03/01 Javascript
jQuery实现类似标签风格的导航菜单效果代码
2015/08/25 Javascript
浅谈js中StringBuffer类的实现方法及使用
2016/09/02 Javascript
AngularJS实现根据变量改变动态加载模板的方法
2016/11/04 Javascript
jQuery+CSS实现的标签页效果示例【测试可用】
2018/08/14 jQuery
Node 代理访问的实现
2019/09/19 Javascript
[01:14:34]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第一局
2016/02/28 DOTA
[01:00:35]2018DOTA2亚洲邀请赛3月30日B组 EffcetVSMineski
2018/03/31 DOTA
[02:04]2020年夜魇暗潮预告片
2020/10/30 DOTA
深入理解Python中各种方法的运作原理
2015/06/15 Python
利用python实现数据分析
2017/01/11 Python
使用numpy和PIL进行简单的图像处理方法
2018/07/02 Python
在Python中输入一个以空格为间隔的数组方法
2018/11/13 Python
Python 获取div标签中的文字实例
2018/12/20 Python
详解Python使用Plotly绘图工具,绘制甘特图
2019/04/02 Python
python 机器学习之支持向量机非线性回归SVR模型
2019/06/26 Python
Python环境使用OpenCV检测人脸实现教程
2020/10/19 Python
亚马逊西班牙购物网站:amazon西班牙
2017/03/06 全球购物
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
UDP协议功能
2013/01/06 面试题
校园摄影活动策划方案
2014/02/05 职场文书
家长对学生的评语
2014/04/18 职场文书
无传销社区工作方案
2014/05/13 职场文书
关于孝道的演讲稿
2014/05/21 职场文书
邀请函的格式
2015/01/30 职场文书
赡养老人协议书范本
2015/08/06 职场文书
小学主题班会教案
2015/08/17 职场文书
Python访问Redis的详细操作
2021/06/26 Python