好家伙,

1.什么是插槽?

插槽是vue为组件的封装者提供的能力.允许开发者在封装组件时,

把不确定的,希望由用户指定的部分定义为插槽

 

我们依然可以把它理解为一个占位符

1.1.插槽的基本用法

试例项目目录如下:

在Left.vue组件中:

<template>
<div>
<!-- 声明一个插槽区域 -->
<slot></slot>
</div>
</template>

在App.vue组件中:

<template>
<div>
<Left>
<p>我是用来测试插槽的p标签
</p>
</Left>
</div>
</template> <script>
//1.导入需要的组件
import Left from './components/Left.vue'
import Right from './components/Right.vue' export default {
data(){
return{
comName:'Left'
}
},
components:{
Left,
Right
//简写为 Left
}
}
</script>

1.2.为插槽添加名称属性:

<template>
<div>
<!-- 声明一个插槽区域 -->
<slot name="default"></slot>
</div>
</template>

在这里可以定义插槽的名称,

若不进行定义,则默认添加名称default

2.v-slot指令

作用:将该标签中的内容放到指定的标签中去渲染

首先说明,vue的官方文档说明了,这个指令只能被用于

<template></template>标签和组件中

 

使用格式:

在App.vue组件中:

<template>
<div>
<Left>
<!-- 1.如果要把内容填充到指定名称的插槽中,需要使用v-slot:这个指令 -->
<!-- 2.v-slot:后面要跟上插槽的名字 -->
<!-- 3.v-slot:指令不能直接用在元素身上,必须用在template标签上 -->
<!-- 4.template这个标签,他是一个虚拟的标签,只起到包裹性质的作用,但是不会被渲染为任何实质性的html元素 -->
<template v-slot:default>
<p>我是用来测试插槽的p标签</p>
</template> </Left>
</div>
</template>

2.1.缩写

v-slot的缩写为#

<template v-slot:default>
<p>我是用来测试插槽的p标签</p>
</template>
<template #default>
<p>我是用来测试插槽的p标签</p>
</template>

以上两者等效

3.插槽的后备内容,

封装组件时,可以为预留的<slot>插槽提供后备内容(默认内容)。如果组件的使用者没有为插槽提供

任何内容,则后备内容会生效。(也就是备胎)

在Left.vue组件中:

<template>
<div>
<!-- 声明一个插槽区域 -->
<!-- vue官方规定:每个slot插槽,都要有一个name名称 -->
<!-- 如果省略了slot的name属性,则有一个默认名称叫做 default-->
<slot name="default">
<h1>我是后备内容</h1>
</slot>
</div>
</template>
												

第八十九篇:Vue 重学插槽slot的更多相关文章

  1. Python之路【第十九篇】:爬虫

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  2. 第三百八十九节,Django+Xadmin打造上线标准的在线教育平台—列表筛选结合分页

    第三百八十九节,Django+Xadmin打造上线标准的在线教育平台—列表筛选结合分页 根据用户的筛选条件来结合分页 实现原理就是,当用户点击一个筛选条件时,通过get请求方式传参将筛选的id或者值, ...

  3. “全栈2019”Java第八十九章:接口中能定义内部类吗?

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  4. Egret入门学习日记 --- 第十九篇(书中 8.8~8.10 节 内容)

    第十九篇(书中 8.8~8.10 节 内容) 开始 8.8节. 重点: 1.类型推断. 2.类型强制转换,使其拥有代码提示功能. 3.除了TS自带的类型判断,Egret官方也提供了类型判断的方法. 操 ...

  5. Android UI开发第三十九篇——Tab界面实现汇总及比较

    Tab布局是iOS的经典布局,Android应用中也有大量应用,前面也写过Android中TAb的实现,<Android UI开发第十八篇——ActivityGroup实现tab功能>.这 ...

  6. (八十九)c#Winform自定义控件-自定义滚动条(treeview、panel、datagridview、listbox、listview、textbox)

    官网 http://www.hzhcontrols.com/ 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kw ...

  7. 在vue中使用插槽 slot

    插槽(slot)这个概念非常重要 插槽的使用场景1:在子组件里面显示父组件的dom <div id='root'> <child content = '<p>Dell&l ...

  8. Vue学习之路第十九篇:按键修饰符的使用

    1.我们工作中经常会有类似于这样的需求:按下Enter键触发某个事件.或者按下ESC退出页面等各种各样的场景.在Vue中,可以通过键盘修饰符来实现这样的场景. 2.事例代码: <body> ...

  9. 第八十五篇:Vue购物车(六) 总价的动态计算

    好家伙, 1.实现总价的动态计算 商品数量被动态的改变后, 相应的总价同样会改变 所以我们需要重新计算总价格了 这个的实现并不难 我只要拿到商品的数量就好了 我们用一个计算属性计算出已勾选商品的总数量 ...

随机推荐

  1. 五种方式实现 Java 单例模式

    前言 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 这种模式涉及到一个单一的类,该类负责创建自 ...

  2. Ubuntu远程桌面助手(URDC)

    目前自动驾驶域控制器项目中使用了英伟达的Orin芯片+Ubuntu20.04系统.域控属于典型的Headless设备,开发调试时需要连接显示器(HDMI/DP).鼠标和键盘,或者使用NoMachine ...

  3. CentOS 7 快速安装docker-compose

    安装docker-composegithub的地址下载太慢了,国内可以使用http://get.daocloud.io/#install-compose网站上面的地址. 首先下载docker-comp ...

  4. win10设置Python程序定时运行(设置计划任务)

    今天来设置一下定时执行Pycharm内的脚本: 这个要基于win10 的任务计划程序(设置 > 控制面板 > 系统和安全 > 管理工具 > 任务计划程序) 1. create ...

  5. Tapdata 在线研讨会:如何快速上手 Tapdata Cloud?

    偶然接触到 Tapdata Cloud,据说不仅可以实现异构数据实时同步,还永久 100% 免费,但就是不知道怎么获取.怎么用? 打开相关文档逐渐陷入迷茫,术语."黑话"随处可见, ...

  6. C++数据类型的引入

    1.存储位数 计算机管理存储器(内存和外存)的最小单位是字节,每个字节存储一个8为二进制数.一个字节的存储范围就在(00000000 ~ 11111111),十进制表示就是0~255这个范围.为了方便 ...

  7. Solution -「BZOJ3894」文理分科

    Sol. 说实话,对于一个初学者,这道题很难看出是一道网络流-最小割.对于一个熟练者,这是比较套路的一种模型. 最小割,可以看做是在一个图中删掉最小的边权和使得源点.汇点不连通.或者换一个角度,可以看 ...

  8. elastsearch整合springboot

    文档地址: https://www.baeldung.com/elasticsearch-java

  9. 建立二叉树的二叉链表(严6.65)--------西工大noj

    需要注意的点:在创建二叉树的函数中,如果len1==len2==0,一定要把(*T)置为NULL然后退出循环 #include <stdio.h> #include <stdlib. ...

  10. 一篇文章带你走进meta viewport的世界

    一.什么是 meta 标签? 可提供有关页面的元信息 二.为什么需要移动端适配? 因为我们在 pc 端上看到的页面都是比较大的,在 pc 端上都是正常显示的,自动不会被进行缩放,除非手动进行放大或缩小 ...