vuejs中的默认插槽-具名插槽-作用域插槽三者的比较

vue中匿名插槽,具名插槽,作用域插槽的区别 面试的时候可能会问你,什么叫做内容分发 说实话这个问题很模糊 想回答的准确点确实有点难 一个通俗点的回答就是 父组件的数据和子组件的模板配合起来使用就是内容分发 内容分发其实和一个叫做插槽的概念有关 slot关键字 这里有三种插槽 我们就来一一讲解 1.匿名插槽 又叫做默认插槽 就是没有名字 我还是直接上代码 更直接点 1.1.在父组件中 子组件引用的中间也有内容 有代...... 阅读详情

虽互不曾谋面,但希望能和您成为笔尖下的朋友

以读书,技术,生活为主,偶尔撒点鸡汤

不作,不敷衍,意在真诚吐露,用心分享

点击左上方,可关注本刊

标星公众号(ID:itclanCoder)

如果不知道如何操作

点击这里,标星不迷路

前言

Vue中的插槽是一个非常强大的功能,在复用组件模块的时候,针对相似的结构,拥有不通的内容时,使用插槽就非常方便,一定程度上可以减少在模板中使用大量的逻辑判断,控制显示不通的内容

同时,也可以让代码组织结构更加清晰,虽然使用上是简单了,但是插槽有些不是很好理解,不是很直观

它是让父组件可以向子组件指定位置处插入一html结构,自由灵活,也是组件间的一种通信方式

形式上有,默认插槽,具名插槽还有作用域插槽

大家在使用element-ui表格的时候,虽然都知道怎么用,表头,以及内容模板的渲染,就使用了插槽,但是往往是很迷糊的

因为被抽象了的

今天就一起来学习下,学完之后,在看element-ui表格的时候,希望能给你带来一些启发,下次再次使用时,理解更上一层楼

b3ea951c36f7f7fec8fbf00f0d74bc69.png


01

默认插槽

官方文档里介绍到:Vue 实现了一套内容分发的 API,这套 API 的设计灵感源自 Web Components 规范草案,将 <slot> 元素作为承载分发内容的出口

这句话不是很好理解,换句话说,也就是,<slot>可以充当元素标签的占位符,可以代替在父组件引用的组件内的html标签内容

以如下示例所示

在App组件中引入SlotBase.vue组件

<template>
  <div id="app">
     <SlotBase
              :lists="lists">
             <p>默认内容</p>
     </SlotBase>
  </div>
</template>

<script>

import SlotBase from "./components/SlotBase.vue"

export default {
  name: 'App',
  components: {
    SlotBase
  },
  data() {
    return {
      lists: [
        {
          id: "001",
          title: "直播卖酒"
        },
        {
          id: "002",
          title: "直播打赏"
        },
        {
          id: "003",
          title: "直播炫富"
        }
      ]
    }
  }
}
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

而在编写SlotBase.vue组件中,引入slot标签,如下所示

<template>
    <div class="wrap">
        <div class="list" v-for="list in lists" :key="list.id">
            {{list.title}}
            <!-- 此处引入slot标签 -->
            <slot></slot>
        </div>
    </div>
</template>

<script>
    export default {
        name: "SlotBase",
        props: {
            lists: {
                type: Array
            }
        },
        mounted() {
            console.log(this.lists);
        }
    }
</script>

<style lang="scss" scoped>
.wrap {
    display: flex;
    justify-content: center;
}
.list {
    width: 400px;
    height: 200px;
    border:1px solid red;
    margin-right: 10px;
}
</style>

在子组件内的<slot></slot>标签就是插槽,代替了在父组件内的<p>默认内容</p>

如果你在父组件的自定义标签内,插入了html模板,在子组件没有使用slot,那么父组件内插入的标签内容是不会被插入进去的

现在知道插槽是什么了吧,可以在组件标签内定义需要的内容,通过插槽加入到组件内部中

组件内部的<slot></slot>元素就好像一个传送门,也就是所谓的槽,它提供了内容的入口,也决定了内容的位置。组件标签中定义的内容,通过这个“传送门”就可以加入到组件内部中

插槽中的“插件”就是组件标签中的内容。

插槽中的“槽”就是在组件中的<slot></slot>元素,当没有<slot></slot>元素的时候,就不渲染组件标签中的内容

当是默认插槽时,我们可以使用template标签给包裹起来的,并且在上面添加v-slot:default属性,这代表的是默认插槽

<template v-slot:default>
    <p>默认内容</p>
</template>


02

具名插槽

如果要将不通的内容放在不通的位置,那么默认插槽就无法办到了

顾名思义,具名插槽,就是给插槽定义一个名字,让每个不通的模板对应着不通的名字

我们给在父组件内的插入的模板属性上添加v-slot:插槽名字,而在子组件内通过添加name属性<slot name="插槽名字"></slot>

需要注意的是,name的值需要与v-slot的值要一一对应,如果对不上的话,那么就会达不到我们预期的效果

如下示例代码所示:在App父组件中

<template>
  <div id="app">
     <SlotBase
              :lists="lists">
             <template v-slot:default>
               <p>默认内容</p>
             </template>
             <template v-slot:content>
                   <p>我是直播卖酒-content</p>
             </template>
              <!-- <template v-slot:content2>
                   <p>我是直播打赏-content</p>
             </template> -->
             <!-- 可以简写成如下所示 -->
              <template #content2>
                   <p>我是直播打赏-content</p>
             </template>
     </SlotBase>
  </div>
</template>

<script>

import SlotBase from "./components/SlotBase.vue"

export default {
  name: 'App',
  components: {
    SlotBase
  },
  data() {
    return {
      lists: [
        {
          id: "001",
          title: "直播卖酒",
        },
        {
          id: "002",
          title: "直播打赏"
        },
        {
          id: "003",
          title: "直播炫富"
        }
      ]
    }
  }
}
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

而在子组件,slotBase.vue中

<template>
    <div class="wrap">
        <div class="list" v-for="list in lists" :key="list.id">
            {{list.title}}
            <!-- 此处引入slot标签 -->
            <slot></slot>
            <slot name="content" v-if="list.title =='直播卖酒'"></slot>
            <slot name="content2" v-if="list.title =='直播打赏'"></slot>
        </div>
    </div>
</template>

<script>
    export default {
        name: "SlotBase",
        props: {
            lists: {
                type: Array
            }
        },
        mounted() {
            console.log(this.lists);
        }
    }
</script>

<style lang="scss" scoped>
.wrap {
    display: flex;
    justify-content: center;
}
.list {
    width: 400px;
    height: 200px;
    border:1px solid red;
    margin-right: 10px;
}
</style>

上面我用了一个v-if条件渲染表达式,我们可以可以根据一些条件控制元素的显示和隐藏

上面的具名插槽,在父组件中v-slot:content可以缩写为#content,当我们看到这种简写的时候,知道它也是给插槽起一个具体的名字即可

它跟 v-on 和 v-bind 一样,v-slot 也有缩写,即把参数之前的所有内容 (v-slot:) 替换为字符 #。例如 v-slot:header 可以被重写为 #header

如果你看不懂,那就是对简写插槽的名称有些陌生了

从上面的示例中,我们可以做出一些总结

  1. 具名插槽可以根据名称渲染对应的html标签模板内容

  2. 没有定义名称的内容会被默认插槽统一渲染

  3. 默认插槽其实也是一个具名插槽,名称为default

  4. 父组件内插槽内容可以是模板html标签元素,也可以是组件

注意

这个v-slot只能用在template标签上

旧版本写法

在父组件上使用v-slot:插槽名称,这个是vue2.6.0以后的写法,在vue2.6.0之前,可以在模板上使用slot="插槽的名称"


03

作用域插槽

相比于默认插槽,具名插槽,作用域插槽有些难以理解

如果你理解js中的作用域链和Es6中的块级作用域,那么对于衔接作用域插槽,可能会好些

有时,让插槽内容能够访问子组件中才有的数据,是很有用的

插槽中内容的流动方向是从组件标签传到组件内部

而作用域插槽则让作用域反向流动,从组件内部传到组件标签内,可以在组件标签内访问到组件内部的变量,

换而言之,在父组件的模板中,如何拿到子组件传递过来的数据,而子组件(插槽)内部定义的数据,如何传递到父组件当中去

也就是可以通过作用域插槽传递数据

我们在slotBase.vue组件中内部定义一个数据msg

<template>
    <div class="wrap">
        <div class="list" v-for="list in lists" :key="list.id">
            {{list.title}}
            <!-- 此处引入slot标签 -->
            <slot></slot>
            <!--  v-bind,自定义属性的方式向slot插槽传递了属性-->
            <slot name="content" 
                  v-if="list.title =='直播卖酒'" 
                  :msg="msg"></slot>
            <slot name="content2" v-if="list.title =='直播打赏'"></slot>
        </div>
    </div>
</template>

<script>
    export default {
        name: "SlotBase",
        props: {
            lists: {
                type: Array
            }
        },
        data() {
            return {
                // 子组件定义的数据
                msg: "itclanCoder"
            }
        },
        mounted() {
            console.log(this.lists);
        }
    }
</script>

<style lang="scss" scoped>
.wrap {
    display: flex;
    justify-content: center;
}
.list {
    width: 400px;
    height: 200px;
    border:1px solid red;
    margin-right: 10px;
}
</style>

在上面的代码中,在slot元素上绑定了msg属性,这个attribute被称为插槽prop

那么在父级作用域中,又该如何接收子组件传递过来的数据呢

在v2.6.0中使用的是v-slot:插槽名="slotProps",其中这个slotProps是自己任意定义的,名字自己随意

代码如下所示:

<template v-slot:content="slotProps">
    {{slotProps.msg}}
</template>
// 也可以缩写为#插槽名="属性Props"
 <template #content="slotProps">
    {{slotProps.msg}}
</template>

而在旧版本中,也可以这么写

<template slot="content" slot-scope="slotProps">
        {{slotProps.msg}}
</template>

新版本的写法与vue2.6.0以下的版本不能混写,注意,这种废弃的语法,在vue3.0中不会出现了的

所以还是用最新的写法吧,但是一些老的vue2.0项目,旧版本的写法,要看的懂的

以上就是默认插槽,具名插槽,作用域插槽的使用,插槽是一个非常强大的功能,在组件的复用时,对于复用结构和精简代码非常有用

如果大家有做过那种后台cms管理系统,针对很多不同种类的各种表单弹窗,而表单弹窗内,有时要根据后端返回的接口props去显示指定的内容

这时候,插槽就非常有用了

04

独占默认插槽的缩写

当被提供的内容只有默认插槽时,组件的标签才可以被当做插槽的模板来使用

我们可以直接把v-slot直接用在组件上

<CurrentUser v-slot:default="slotProps">
          <p>{{slotProps.user}}</p>
</CurrentUser>

还可以在简化一下。就像假定未指明的内容对应默认插槽一样,不带参数的 v-slot 被假定对应默认插槽

<CurrentUser v-slot="slotProps">
          <p>{{slotProps.user}}</p>
</CurrentUser>

需要注意的是,以下写法是不可以的,当v-slot用在自定义标签组件上,不能缩写

Named slots must use '<template>' on a custom element

<CurrentUser #slotProps>
          <p>{{slotProps.user}}</p>
</CurrentUser>

注意 

默认插槽的缩写语法不能和具名插槽混用,因为它会导致作用域不明确

<!-- 无效,会导致警告 -->
<current-user v-slot="slotProps">
  {{ slotProps.user.firstName }}
  <template v-slot:other="otherSlotProps">
    slotProps is NOT available here
  </template>
</current-user>

只要出现多个插槽,所有的插槽使用完整的基于template的语法 也就是说,v-slot用在template标签上

<current-user>
  <template v-slot:default="slotProps">
    {{ slotProps.user.firstName }}
  </template>

  <template v-slot:other="otherSlotProps">
    ...
  </template>
</current-user>

总结

以上本节的内容,插槽是一个非常强大的功能,默认插槽在子组件内部使用<slot></slot>进行占位,而在父组件内,使用html标签,或者组件

如果子组件使用了多个插槽,那么就使用具名插槽对每个插槽进行区分,子组件内的<slot name="插槽名称"></slot>,而在父组件中,使用template标签

<template v-slot:插槽名称></template>,其中v-slot有简写#插槽名称,可以使用在具体的标签上,但是当有多个插槽时,只能用在template标签上

当父组件想要拿到子组件中的数据,子组件内部又是如何把内部数据传递到外部组件中去的呢,在子组件内部是通过在slot插槽props传递到父父组件当中去的

而在父组件当中,通过v-slot:插槽名="slotProps"进行接收,这个slotProps是一个集合对象,接收了子组件props的

这就是作用域插槽,它也是父子组件传递数据的一种方式

针对网站链接-使用rel=”nofollow”属性提升网站seo

2022-03-19

5d9f01b26fc8e0e8afbd5e315a091364.png

网站被qq拦截应该怎么处理

2022-03-20

17fe5291a4aca496225f9872eb5ba217.png

如何通过一行代码实现等待指定若干秒后自动跳转到指定的网站上

2022-03-17

708db8dbb40225183d39f2310fd3fffe.png

vuepress中如何自定义组件以及引入打赏功能

2022-03-12

36f02ed1ecd8d6b17956412e9ad653ab.png

vuejs中的模板/普通方法/计算属性computed与监听属性watch四者的比较

2022-01-12

28ef69e2b72c953b2e6d4ad70d03b527.png

喜欢就点个在看再走吧 0ec0879a1cef463fda3bcdd5bcf12888.png

猛戳下方

d2721484c730888626b2d5de093855ec.png

“阅读原文”

匿名插槽,具名插槽,作用域插槽 目录 【匿名插槽】 1、什么是插槽(匿名插槽) 2、插槽的使用情景? 3、插槽的作用? 4、特点: 5、注意点: 【具名插槽】 1、什么是具名插槽? 【作用域插槽】 1、什么是作用域插槽? 2、如何使用作用域插槽 我们在分析插槽是什么之前,我们先思考一个问题,父子组件的传值传的是什么? 我们可以先看一下父组件向子组件传数据的过程 从上面的图中我们可以看到,父组件向子组件传值,是将参数传递到父组件的属性当中。 那么下一个问题来了,如何实现父组件与子组件之间内容的传递? 这就 阅读详情

相关推荐

使用TensorFlow搭建FNN(全连接神经网络)的基本步骤

提示:转载请注明出处,若本文无意侵犯到您的合法权益,请及时与作者联系。 目录 一、定义神经网络的输入输出 二、搭建神经网络 1、定义一个神经层中的权重 2、定义一个神经层中的阈值 3、定义一个神经层中的激活函数 4、组合神经层为神经网络 三、搭建损失函数和优化器 1、搭建损失函数 首先介绍第一个函数这其中用到的共同的函数为 2、定义优化器 四、训练神经网络 全连接神经网络的网络结构如下: 一、定义神经网络的输入输出 神经网络最擅长的工作就是模拟非线性函数,即一个复杂的高..

qq_41959920的博客 4070

vue官方文档(18) :具名插槽示例

vue

amadeus_liu2的博客 654

从.har文件到Postman集合:一键转换的完整教程(附避坑指南)

本文详细介绍了如何将.har文件高效转换为Postman集合的完整教程,涵盖基础操作到高级技巧,包括认证信息处理、环境变量提取等痛点问题的解决方案。通过抓包工具记录的.har文件,开发者可以快速生成Postman集合,提升API调试与测试效率,特别适合前后端分离开发模式下的团队协作。

weixin_26795617的博客 384

普通插槽、具名插槽、作用域插槽

slot又名插槽,是Vue的内容分发机制,组件内部的模板弓|擎使用slot元素作为承载分发内容的出口。插槽slot是子组件的一个模板标签元素,而这一个标签元素是否显示,以及怎么显示是由父组件决定的。slot又分三类,默认插槽,具名插槽和作用域插槽。默认插槽:又名匿名插槽,当slot没有指定name属性值的时候一个默认插槽,一个组件内只有一个匿名插槽。具名插槽:带有具体名字的插槽, 也就是带有name属性的slot, 一个组件可以出现多个具名插槽。

静Yu的博客 1788

保姆级教程:用OpenCV和MediaPipe在Python里实现实时手势识别(附完整代码)

本文提供了一份详细的Python教程,教你如何使用OpenCV和MediaPipe实现实时手势识别系统。从环境配置、手部关键点检测到手势分类算法,逐步讲解如何构建高精度手势识别应用,适用于智能家居控制、PPT操作等场景。教程包含完整代码示例和性能优化技巧,特别适合计算机视觉初学者和开发者实践。

weixin_28677005的博客 327

服务器安装Ubuntu 18.04.2 LTS超详细步骤(小白图文详解)

服务器安装Ubuntu 18.04.2 LTS超详细步骤(小白图文详解) 本文不包括启动盘制作步骤,相关内容可自行百度 华为服务器 1 插入u盘,关机重启 2 初始化界面后进入到系统的BIOS设置界面 (华为服务器按Del键,不同品牌方法不同) 3 进入的时候,华为的服务器默认设置了BIOS密码,因此需要输入之前预设的密码。 注意密码大小写问题,若密码输错三次,则需重启 4 密码输入以后,进入...

crystalbang的博客 2万+

vue插槽 Slots

vue插槽 1.默认插槽 2.具名插槽 3.作用域插槽

weixin_45084986的博客 671

基于IDEA与Mill构建Windows下的Chisel开发环境——香山处理器源码解析实战

本文详细指导如何在Windows系统下使用IDEA集成开发环境和Mill构建工具搭建Chisel开发环境,并以香山处理器源码为实战案例进行解析。内容涵盖环境准备、源码获取、工程构建、IDEA配置优化及代码阅读技巧,帮助开发者高效学习硬件设计语言。

a1b2c3d的博客 717

【Vue学习笔记】 Vue默认插槽、具名插槽、作用域插槽

插槽的作用是在子组件中某个位置插入父组件的自定义html结构和data数据插槽分为三种: 默认插槽 具名插槽 作用域插槽1.默认插槽 定义: 默认插槽是将父组件的结构和数据插入子组件中,默认插槽只有一个插入位置,要插入的html结构和data数据必须在父组件中,不过css可以在子组件中 简述: 将父组件的自定义html和data插入子组件的对应位置 特点: 父组件决定结构和数据2.具名插槽 定义: 具名插槽简单地说就是具有名字的插槽,只是默认插槽只有一个插入位置,具名插槽可以有多个插入位置,根据名字来识别对

qq_44862029的博客 3697

DeepSeek-R1模型+Dify实战:5步打造能读PDF的智能客服(附BGE-M3嵌入模型配置)

本文详细介绍了如何利用DeepSeek-R1大模型与Dify平台,结合BGE-M3嵌入模型,构建企业级智能文档问答系统。通过5个步骤,从环境准备到知识库构建,再到智能问答应用开发,帮助企业快速从PDF等文档中提取关键信息,提升工作效率。特别适合处理产品手册、内部规程等专业内容。

convnet3designer的博客 720

HCIE-Datacom笔试题库

关于HCIE Datacom笔试考试题目整理!

坏坏-5的博客 609

Vue2 插槽的使用【默认插槽、具名插槽、作用域插槽】

这篇文章我们一起来学习一下 Vue2 插槽的使用,文章大致分为两个模块,第一部分是什么是插槽,其作用是什么,第二部分为三种插槽的使用,分别为默认插槽,具名插槽,作用域插槽,相信大家学习完这篇文章后一定会受益匪浅。

weixin_52212950的博客 1万+

逆强化学习:从专家示范中学习策略

逆强化学习(Inverse Reinforcement Learning,简称IRL)是强化学习(Reinforcement Learning,简称RL)的一个子领域,它的目标是从专家的行为中学习策略。在传统的强化学习中,智能体通过与环境交互,根据奖励信号来学习一个策略。而在逆强化学习中,我们没有直接的奖励信号,而是通过观察专家的行为来推断出奖励函数,从而学习到一个与专家类似的策略。逆强化学习作为强化学习的一个重要子领域,在许多实际应用场景中都取得了显著的成功。

AI天才研究院 1451

Vue中的v-slot详解,作用域插槽和具名插槽

1、具名插槽 有时候我们希望在指定的位置输出我们的子元素,这时候具名插槽就排上了用场。 //组件调用时 <MyFooter v-red :age.sync="age"> <template v-slot:footer> //这里v-slot:后边的值与组件内的slot的name属性对应,也就是插槽的名称。 <div>list</div&...

liushijun_的博客 8万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Vue3 slot插槽——(默认插槽、具名插槽、作用域插槽)

一、认识插槽Slot 在开发中,我们会经常封装一个个可复用的组件: 前面我们会通过props传递给组件一些数据,让组件来进行展示; 但是为了让这个组件具备更强的通用性,我们不能将组件中的内容限制为固定的div、span等等这些元素; 比如某种情况下我们使用组件,希望组件显示的是一个按钮,某种情况下我们使用组件希望显示的是一张图片; 我们应该让使用者可以决定某一块区域到底存放什么内容和元素; 举个栗子:假如我们定制一个通用的导航组件 - NavBar 这个组件分成三块区域:左边-中间-右边,每块区域的

zep 2万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Vue2中插槽使用——默认插槽、具名插槽、作用域插槽

Vue中插槽使用——默认插槽、具名插槽、作用域插槽插槽(slot)默认插槽具名插槽作用域插槽 插槽(slot) 作用:让父组件可以向子组件指定位置插入html结构,也是一种组件间通信的方式,适用于 父组件 ===> 子组件 分类:默认插槽、具名插槽、作用域插槽 默认插槽 category.vue <template> <div class="category"> <h3>{{title}}分类</h3> <!-- 定义一个插槽

Concise200的博客 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Vue2 与 Vue3 的插槽(默认插槽、具名插槽、作用域插槽、具名插槽 + 作用域插槽)

Vue2 与 Vue3 的插槽(默认插槽、具名插槽、作用域插槽、具名插槽 + 作用域插槽)

weixin_52173250的博客 1759

Vue(十一)默认插槽、具名插槽、作用域插槽

默认插槽、具名插槽、作用域插槽

lxh的博客 1670

【Vue】默认插槽 && 具名插槽 && 作用域插槽

本文介绍了Vue中的三种插槽使用方法: 默认插槽:使用<slot>占位,组件使用时传入内容替换默认内容,适用于单一内容定制场景。 具名插槽:通过name属性区分多个插槽位置,配合v-slot指令(简写为#)实现多区域内容定制。 作用域插槽:子组件通过slot属性暴露数据,父组件通过#插槽名="obj"接收数据,实现子组件数据在父组件插槽中的使用,增强组件灵活性。 文章通过对话框组件示例,详细展示了每种插槽的具体实现方式和应用场景,帮助开发者理解如何利用插槽提高组件的复用性和灵

lirendada的博客 1375

vue中三种插槽(默认插槽、具名插槽、作用域插槽)的使用方法

插槽:简单来说就是在组件的内部留一个或多个空白的位置,可供其他使用它的组件传对应的模板代码进去。插槽让组件复用变的更加灵活了。实际上,我们希望达到的效果是插槽对应的内容插入显示,这个时候我们就可以使用。例如:v-slot:header 可以被写为 #header。你可以在组件的模板中使用。具名插槽在使用时也可以缩写。在Vue3中,插槽被称为。元素来声明一个插槽。

qq_52006958的博客 1624

Vue中的插槽 — 具名插槽、作用域插槽

1、Vue中插槽的作用和使用方法 定义一个名cmpOne子组件,为该子组件添加内容应该在子组件的template中定义,直接在父组件的标签中<cmp-one></cmp-one>里定义的内容不会被渲染,如下例: <div id="app"> <cmp-one> <span>使用插槽后渲染的内容</span> ...

qq_43430897的博客 5386

vue3插槽、具名插槽、作用域插槽-足够入门了

vue3插槽、具名插槽、作用域插槽-足够入门了!

厚积薄发. 9012

14. vue的插槽

vue的插槽 插槽这个概念相对就比较抽象,但抽象的概念用生活中常见的事物去做类比,也就变得没那么抽象了! 举一个生活中的例子:比如装修房子的时候我们会在很多地方预留出一些插孔,可能要插电冰箱,插电式,插充电器等,反正就是你觉得预留在这个位置的插座一定有用,这个预留的插座就类似我们今天要说的插槽,插槽就是你在模板中提前通过一个占位符(slot)来预言一块固定的区域将来会被某些元素替换掉,但是这个位置我得先预留出来。 在veu 2.6.0 中,具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot

CRMEB小程序商城的博客 7977

Vue默认插槽、具名插槽、作用域插槽的定义及使用方法

文章目录应用场景三种插槽的定义使用方法1.默认插槽2.具名插槽3.作用域插槽 应用场景 插槽的作用是在子组件中某个位置插入父组件的自定义html结构和data数据 三种插槽的定义 插槽分为三种: 默认插槽 具名插槽 作用域插槽 1.默认插槽 【定义:默认插槽是将父组件的结构和数据插入子组件中,默认插槽只有一个插入位置,要插入的html结构和data数据必须在父组件中,不过css可以在子组件中】 【简述:将父组件的自定义html和data插入子组件的对应位置】 【特点:父组件决定结构和数据】 2.具名插槽

什么都干的派森 2629

Vue2——组件的注册与通信方式、默认插槽、具名插槽、插槽的作用域

Vue——组件的注册与通信方式(父子关系与非父子关系组件间的通信方法),默认插槽、具名插槽、插槽的作用域

m0_74556076的博客 1412
上一篇: 网站被qq拦截应该怎么处理
下一篇: vuejs中如何使用mixin-局部混入/全局混入
itclanCoder
博客等级 码龄10年 1485粉丝 434原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值