组件插槽的作用



组件插槽:父组件向子组件传递内容

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body><div id="app"><alert-box>有bug发生</alert-box><alert-box>有一个警告</alert-box><alert-box></alert-box></div><script type="text/javascript" src="js/vue.js"></script><script type="text/javascript">Vue.component('alert-box', {template: `<div><strong>ERROR:</strong><slot>默认内容</slot></div>`});var vm = new Vue({el: '#app',data: {}});</script>
</body>
</html>



具名插槽用法

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body><div id="app"><base-layout><p slot='header'>标题信息</p><p>主要内容1</p><p>主要内容2</p><p slot='footer'>底部信息信息</p></base-layout>
<hr><base-layout><template slot='header'><p>标题信息1</p><p>标题信息2</p></template><p>主要内容1</p><p>主要内容2</p><template slot='footer'><p>底部信息信息1</p><p>底部信息信息2</p></template></base-layout></div><script type="text/javascript" src="js/vue.js"></script><script type="text/javascript">/*具名插槽*/Vue.component('base-layout', {template: `<div><header><slot name='header'></slot></header><main><slot></slot></main><footer><slot name='footer'></slot></footer></div>`});var vm = new Vue({el: '#app',data: {}});</script>
</body>
</html>



作用域插槽

应用场景:父组件对子组件的内容进行加工处理
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<style type="text/css">.current {color: orange;}
</style>
<body><div id="app"><fruit-list :list='list'><template slot-scope='slotProps'><strong v-if='slotProps.info.id==3' class="current">{{slotProps.info.name}}</strong><span v-else>{{slotProps.info.name}}</span></template></fruit-list></div><script type="text/javascript" src="js/vue.js"></script><script type="text/javascript">/*作用域插槽*/Vue.component('fruit-list', {props: ['list'],template: `<div><li :key='item.id' v-for='item in list'><slot :info='item'>{{item.name}}</slot></li></div>`});var vm = new Vue({el: '#app',data: {list: [{id: 1,name: 'apple'},{id: 2,name: 'orange'},{id: 3,name: 'banana'}]}});</script>
</body>
</html>

组件间数据交互——组件插槽的作用||具名插槽用法|| 作用域插槽相关推荐

  1. Vue第二天学习总结—— Vue全家桶之组件化开发(组件化开发思想、组件注册、Vue调试工具用法、组件间数据交互传递、组件插槽、基于组件的案例——购物车)

    (一) 组件化开发思想 1. 现实中的组件化思想体现 组件化即是对某些可以进行复用的功能进行封装的标准化工作 标准:要想组件能够成功组合在一起,每个组件必须要有标准 分治:将不同的功能封装到不同的组件 ...

  2. 组件间数据交互||父组件向子组件传值-基本使用|| 父组件向子组件传值-props属性名规则

    组件间数据交互 父组件向子组件传值 1. 组件内部通过props接收传递过来的值 2. 父组件通过属性将值传递给子组件 父组件向子组件传值-基本使用 <!DOCTYPE html> < ...

  3. 组件间数据交互——父组件向子组件传值( props属性值类型) 子组件向父组件传值-携带参数 || 非父子组件间传值

    父组件向子组件传值 <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...

  4. 020_Vue非父子组件之间数据交互

    1. 非父子组件之间数据交互 1.1. 单独的事件中心管理组件间的通信 var eventHub = new Vue(); 1.2. 监听事件 eventHub.$on('event-name', f ...

  5. 三、Vue(组件、组件间数据传递、slot内容分发、vue-router路由、单文件组件、vue-cli脚手架 )

    一. 组件component 1. 什么是组件?     组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码     组件是自定义元素(对象) ...

  6. 【Vue2 组件间数据的双向绑定】

    组件间数据的双向绑定 一.通过自定义事件 二.通过v-model 三.通过.sync修饰符 四.provide和inject 代码中的p-8,mt-8等,都是自己写的工具类,复制代码的同学,可以自行删 ...

  7. 系统间数据交互的方案探讨

    系统间数据交互的方案探讨 ===================================== 互联网时代, 1等公民是建立规范和协议的人 2等公民是提供服务的人 3等公民是开发软件的人 4等公 ...

  8. 天气数据采集微服务的实现:数据采集组件、数据存储组件

    天气数据采集微服务的实现 天气数据采集服务包含数据采集组件.数据存储组件.其中,数据采集组件是通用的用于采集天气数据的组件,而数据存储组件是用于存储天气数据的组件. 在micro-weather-re ...

  9. 可视化 | Echarts基础异步加载数据交互组件数据集

    目录 1. ECharts 简介 2. ECharts 安装 3. ECharts 配置语法 4. ECharts 图饼 5. ECharts 样式设置 6. ECharts 异步加载数据 7. EC ...

最新文章

  1. TFS2013 微软源代码管理工具 安装与使用图文教程
  2. 单词九连猜python编程_python实现猜单词游戏
  3. java openmp库_OpenMP的环境变量及库函数
  4. 华为申请注册华为鸿蒙商标,华为申请注册“华为鸿蒙”商标,自研操作系统或将实现?-控制器/处理器-与非网...
  5. Python+pandas处理Excel文件中的超市营业额数据
  6. Date跟String类型之间的转换!
  7. 最新增值税商品税目编码表_姓名:增值税,税率:13%,9%,6%,这是我最新最全税率表!...
  8. 如何解决It's likely you're attempting to run Eclipse using the JRE instead of the JDK
  9. 远控免杀专题(10)-TheFatRat免杀(VT免杀率22/70)
  10. 3D模型欣赏:斯巴达女将军 长枪圆盾战士 性感美女
  11. Linux 安装SNMPWALK工具
  12. 流媒体传输协议(rtp/rtcp/rtsp/rtmp/mms/hls)
  13. 微生物组-扩增子16S分析和可视化(线上/线下同时开课,2022.4)
  14. poi生成Workbook转成pdf(java实现excel转pdf)
  15. Mac配置iTem2主题、字体、颜色
  16. 班得瑞[Bandari]音乐介绍
  17. 如何生成gazebo仿真环境的二维地图真值
  18. 微信的服务器域名地址,微信服务器域名设置
  19. PC微信界面透明度修改美化自制小工具+壁纸1.1
  20. left join 和 left outer join (可解决多个表left join的问题)

热门文章

  1. go例子(一) 使用go语言实现linux内核中的list_head
  2. EasyUi通过OCUpload上传及POI上传 实现导入xls表格功能
  3. npm包实现发布正式和测试版
  4. 031 广播变量与累加器
  5. Win7+VS2010环境下CEGUI 0.8.4编译过程详解
  6. 【DFS】 HDU 3298 Contestants
  7. DataGridView显示数据库数据(一)
  8. 正则表达式 小结 经典解决方案[1]
  9. Android6.0以上的权限问题
  10. Android Studio 插件开发详解二:工具类