好家伙,

1.什么是插槽?

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

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

 

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

1.1.插槽的基本用法

试例项目目录如下:

在Left.vue组件中:

  1. <template>
  2. <div>
  3. <!-- 声明一个插槽区域 -->
  4. <slot></slot>
  5. </div>
  6. </template>

在App.vue组件中:

  1. <template>
  2. <div>
  3. <Left>
  4. <p>我是用来测试插槽的p标签
  5. </p>
  6. </Left>
  7. </div>
  8. </template>
  9.  
  10. <script>
  11. //1.导入需要的组件
  12. import Left from './components/Left.vue'
  13. import Right from './components/Right.vue'
  14.  
  15. export default {
  16. data(){
  17. return{
  18. comName:'Left'
  19. }
  20. },
  21. components:{
  22. Left,
  23. Right
  24. //简写为 Left
  25. }
  26. }
  27. </script>

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

  1. <template>
  2. <div>
  3. <!-- 声明一个插槽区域 -->
  4. <slot name="default"></slot>
  5. </div>
  6. </template>

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

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

2.v-slot指令

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

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

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

 

使用格式:

在App.vue组件中:

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

2.1.缩写

v-slot的缩写为#

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

以上两者等效

3.插槽的后备内容,

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

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

在Left.vue组件中:

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

第八十九篇: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. 程序员必备,一款让你提高工作效率N倍的神器uTools

    下载地址:https://www.aliyundrive.com/s/f7PU7QxdxEz uTools 是什么? uTools = your tools(你的工具集) uTools 是一个极简.插 ...

  2. zabbix-5.0自动发现

    1. 安装zabbix5.0 rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.no ...

  3. NC20806 区区区间间间

    NC20806 区区区间间间 题目 题目描述 给出长度为n的序列a,其中第i个元素为 \(a_i\),定义区间(l,r)的价值为 \(v_{l,r} = max(a_i - a_j | l \leqs ...

  4. Lepton 无损压缩原理及性能分析

    作者:vivo 互联网数据库团队- Li Shihai 本文主要介绍无损压缩图片的概要流程和原理,以及Lepton无损压缩在前期调研中发现的问题和解决方案. 一.从一个游戏开始 1.1 游戏找茬 请拿 ...

  5. final关键字用于修饰局部变量和修饰成员变量

    修饰变量 1. 局部变量--基本类型 基本类型的局部变量,被fifinal修饰后,只能赋值一次,不能再更改.代码如下: public class FinalDemo1 { public static ...

  6. Kafka启动遇到ERROR Exiting Kafka due to fatal exception (kafka.Kafka$)

    ------------恢复内容开始------------ Kafka启动遇到ERROR Exiting Kafka due to fatal exception (kafka.Kafka$) 解决 ...

  7. Solution -「CF1373G」Pawns

    小清新线段树题(( 每个位置的边只能向靠右的三个方向走,最后要走到一条基准线上.即对于一个点 \((x, y)\),它最后应该落在 \((k, y + |k - x|)\). 士兵可以一个一个进行移动 ...

  8. fiddler5+雷电模拟器4.0对app抓包设置

    这次项目刚好需要对微信小程序进行抓包分析,二话不说拿起手机咔咔一顿连接,发现在备用机苹果上抓包正常,但主的安卓机上证书怎么装都失败,原来安卓7版本以后对用户自行安装的证书不再信任,所以无法抓包. 因为 ...

  9. 编程技巧│超实用 nginx 中常见的配置合集

    目录 封禁 IP 仅开放内网 负载均衡 列出文件列表 路由转发 开启 gzip 压缩 解决跨域 资源防盗链 Keepalived 提高吞吐量 HTTP 强制跳转 HTTPS 封禁 IP 通过 deny ...

  10. NOI / 1.4编程基础之逻辑表达式与条件分支讲解-02:输出绝对值

    02:输出绝对值 总时间限制: 1000ms 内存限制: 65536kB 题目: 描述 输入一个浮点数,输出这个浮点数的绝对值. 输入 输入一个浮点数,其绝对值不超过10000. 输出 输出这个浮点数 ...