父组件向子组件传递带数据的标签,当一个组件有不确定的结构时, 就需要使用 slot 技术,注意:插槽内容是在父组件中编译后, 再传递给子组件的。

一、默认插槽
<div class="category"><h3>{{title}}分类</h3><slot>插槽,当使用者没有传递具体介都时出现</slot>        <!--声明插槽-->
</div>
<div class="container"><CateGory title='美食'><img src="./img/asd.jpg" alt="" style="width: 100%;"/>  <!--使用插槽--></CateGory>
</div>
二、具名插槽 声明插槽时指定name属性 用于区别每个插槽 便可以声明多个插槽
<div class="category"><h3>{{title}}分类</h3><slot name='center'>center插槽,当使用者没有传递具体介都时出现</slot><slot name='footer'>footer插槽,当使用者没有传递具体介都时出现</slot>
</div>

使用时也要指定使用的是哪一个插槽,使用插槽时用slot属性或v-slot属性 指定定义时的name值,但是v-slot只能使用在<template>节点中
一个插槽可以使用多次 但是并不推荐 可以使用<template>节点包裹起来

<div class="container"><CateGory title='美食'><img slot="center" src="./img/asd.jpg" alt="" style="width: 100%;"/><a slot="footer" href="http://www.baidu.con">美食广场</a></CateGory><CateGory title='游戏'><img slot="center" src="./img/asd.jpg" alt="" style="width: 100%;"/><img slot="center" src="./img/asd.jpg" alt="" style="width: 100%;"/></CateGory><CateGory title='电影'><template v-slot:center><img src="./img/asd.jpg" alt="" style="width: 100%;"/><img src="./img/asd.jpg" alt="" style="width: 100%;"/></template></CateGory>
</div>
三、作用域插槽,可以实现 插槽定义者 向 组件使用者传递数据。

数据存放在定义插槽的组件,却被父组件使用
通过 :数据名='数据名’传递给父组件
父组件通过 <template>节点中的scope属性接受数据对象
可同时向父组件传递多组数据 因为父组件接收的是对象

<div class="category"><h3>{{title}}分类</h3><slot :foods='foods'>center插槽,当使用者没有传递具体介都时出现</slot>
</div>
<CateGory title='美食'><template scope="dataObject"><ul><li v-for="(food,index) in dataObject.foods" :key="index">{{food}}</li></ul></template>
</CateGory>
作用域插槽声明时也可设置name属性 用法与具名插槽相同

Vue 自定义组件 —— slot插槽相关推荐

  1. vue自定义组件,插槽,自定义事件

    vue组件套娃 1. vue自定义组件 2. 组件和插槽套娃 3. vue组件通过自定义事件更改vue实例中的数据 1. vue自定义组件 语法 Vue.component('自定义组件名', {pr ...

  2. vue自定义组件及定义插槽

    vue自定义组件绑定事件: <!DOCTYPE html> <html lang="en"> <head><meta charset=&q ...

  3. Vue如何自定义组件?超详细Vue自定义组件指南!使用自定义组件减少重复造轮子! ∠( °ω°)/ 前端知识

    文章目录 使用意义 基础使用 给组件添加属性 传递事件 自定义组件的v-model 剖析v-model原理 使用示例 插槽 使用意义 有时候一组HTML代码可能会在多出使用(比如页眉页脚).如果我们把 ...

  4. vue 嵌套表格组件_使用form-create动态生成vue自定义组件和嵌套表单组件

    使用form-create动态生成vue自定义组件和嵌套表单组件 maker.create 通过建立一个虚拟 DOM的方式生成自定义组件 生成 Maker let rule = [ formCreat ...

  5. vue自定义组件是.vue还是html,Vue自定义组件的四种方式示例详解

    四种组件定义方式都存在以下共性(血泪史) 规则: 1.组件只能有一个根标签 2.记住两个词全局和局部 3.组件名称命名中'-小写字母'相当于大写英文字母(hello-com 相当于 helloCom) ...

  6. Vue自定义组件封装及使用Excel

    Vue自定义组件封装及使用Excel 一.js-xlsx 组件安装 二. 创建vue组件 三.使用 四.效果图 一.js-xlsx 组件安装 npm install xlsx --savenpm in ...

  7. Vue自定义组件之时间跨度选择器

    时间跨度选择器 该组件是个时间跨度选择器. 基于 vue自定义组件之选择器 和 Vue自定义组件之日期时间范围选择器 点击选框,下拉列表中有四个选项,点击自定义时间,后边会出现 日期时间范围选择 代码 ...

  8. Vue自定义组件npm上传私服,且从私服下载使用

    Vue自定义组件npm上传私服,yarn私服下载使用 安装镜像源管理工具nrm 发布自定义组件到公司私服 若未下载nrm源管理工具直接使用npm设置私服地址也可以 以下步骤都是基于npm命令 从私服下 ...

  9. Vue自定义组件及组件传值

    vue自定义组件: 1.在src中components中,新建文件,后缀名为.vue组件(首字母建议大写)例如:Weekly.vue 2.Weekly.vue: 3.在app.vue中引用组件: js ...

最新文章

  1. 机器学习内卷化:博士数量激增,本硕毕业生有点慌 | reddit热议
  2. hpe服务器有哪些型号,HPE ProLiant DL80 Gen9 服务器 - 惠普服务器配置参数
  3. 张家口zec挖矿软件哪里下载_AMTO软件下载-AMTO挖矿官网版v1.1
  4. linux webshell 页面管理,instantbox:30s内快速搭建可通过webshell管理的Linux系统
  5. 使背景图片适应不同分辨率电脑
  6. 借助C++类结构计算矩形面积(矩形类)
  7. linux中命令du -sm,Linux中的Du命令
  8. [总结]国家电网计算机类备考总结
  9. 电子计算机为什么123安不出来,右边键盘数字键打不出来怎么解锁
  10. 我自己常用的几个JS深浅拷贝的方法
  11. Android 无usb数据线调试方法,ADB无线连接 调试
  12. Mac上锁屏的快捷键设置
  13. 简单的营销策略重复做,发挥到极致就是一心一意的去做
  14. 什么叫版面_什么叫版面,版心,版式?
  15. 爬虫小试-0217影响因子表
  16. Java异常处理的普遍误解
  17. vue使用高德地图导航路线失败,获取驾车数据失败:INVALID_USER_SCODE(解决方法)
  18. linux 环境下安装(添加)字体
  19. LinuxGUI环境下vim与外界复制粘贴
  20. 从零单排Mac Pro - 软件篇

热门文章

  1. QT_StepByStep(2)--滑动杆的实现
  2. WCF学习笔记(2)——独立WCF服务
  3. 端口被占用问题Error: listen EADDRINUSE 127.0.0.1:8888
  4. JavaScript(八)—— PC 端网页特效
  5. php迭代器实例,PHP迭代器和生成器用法实例分析
  6. PAT乙级 1021 个位数统计
  7. 戴尔服务器板载系统raid管理,戴尔PowerEdge RAID控制卡使用示例(PERC H710P为例)
  8. Spring应用上下文 - - context
  9. webview取java的参数值_Android 显示 WebView ,加载URL 时,向webview的 header 里面传递参数...
  10. linux清空动态文件内容,linux 动态清空 nohup 清空后,发现文件大小不变