浅析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添加table的行和列 具体实现方法
Jul 22 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
Mar 16 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
Dec 01 Javascript
angular.js分页代码的实例
Jul 27 Javascript
对Angular.js Controller如何进行单元测试
Oct 25 Javascript
JS 验证码功能的三种实现方式
Nov 26 Javascript
layui2.0使用table+laypage实现真分页
Jul 27 Javascript
微信小程序如何实现radio单选框单击打勾和取消
Jan 21 Javascript
微信小程序scroll-view的滚动条设置实现
Mar 02 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
Sep 01 Javascript
vue-cli3项目打包后自动化部署到服务器的方法
Sep 16 Javascript
原生js实现自定义滚动条组件
Jan 20 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
德生PL990,目前市面上唯一一款便携式插卡蓝牙全波段高性能收音机
2021/03/02 无线电
一些花式咖啡的配方
2021/03/03 冲泡冲煮
我用php+mysql写的留言本
2006/10/09 PHP
一个简单的PHP&amp;MYSQL留言板源码
2020/07/19 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
2015/12/25 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
PHP7 新增常量
2021/03/09 PHP
如何让您的中波更粗更长 - 中波框形天线制作
2021/03/10 无线电
遍历jquery对象的代码分享
2011/11/02 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
2014/05/04 Javascript
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
JavaScript实现大数的运算
2014/11/24 Javascript
JavaScript获得url所有参数键值表的方法
2015/03/21 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
jQuery Easyui Tabs扩展根据自定义属性打开页签
2016/08/15 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
2016/10/19 Javascript
JS 调用微信扫一扫功能
2016/12/22 Javascript
使用React手写一个对话框或模态框的方法示例
2019/04/25 Javascript
使用layui前端框架弹出form表单以及提交的示例
2019/10/25 Javascript
Vue+tracking.js 实现前端人脸检测功能
2020/04/16 Javascript
js+canvas实现五子棋小游戏
2020/08/02 Javascript
JS画布动态实现黑客帝国背景效果
2020/11/08 Javascript
[00:12]2018DOTA2亚洲邀请赛 Sccc亮相SOLO赛,今年他又会有什么样的战绩?
2018/04/06 DOTA
[41:08]TNC vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python打开url并按指定块读取网页内容的方法
2015/04/29 Python
Python的time模块中的常用方法整理
2015/06/18 Python
Python 离线工作环境搭建的方法步骤
2019/07/29 Python
python匿名函数用法实例分析
2019/08/03 Python
python实现音乐播放器 python实现花框音乐盒子
2020/02/25 Python
size?德国官方网站:英国伦敦的球鞋精品店
2018/03/17 全球购物
Java提供了哪些企业应用编程接口
2015/02/13 面试题
房地产融资计划书
2014/01/10 职场文书
厨房管理计划书
2014/04/27 职场文书
领导参观欢迎词
2015/01/26 职场文书
导游词之寿县报恩寺
2020/01/19 职场文书
JavaScript实现显示和隐藏图片
2021/04/29 Javascript