【vue2】插槽的介绍、分类与使用

一、前言

插槽在开发中的使用频率不算低,插槽的使用能帮助我们更好的个性化开发。

二、分类

1、默认插槽

在子组件中定义<slot></slot>即可

2、具名插槽

在子组件中定义<slot name="xxx"></slot>,其中xxx即为插槽的名字

3、作用域插槽

在子组件中定义<slot :aaa="xxx"></slot>,其中aaa为动态属性名,xxx为data中的数据名

三、案例

1、默认插槽

子组件:slot中的内容,当父组件不传内容时显示

<template>
  <div>
    <slot>没有内容时我显示</slot>
  </div>
</template>

父组件:<demo/>为定义的子组件名称

<demo>
   <h2>默认插槽</h2>
</demo>

2、具名插槽

子组件:

<div>
    <slot name="one">没有内容时我显示</slot>
    <slot name="two">没有内容时我显示</slot>
</div>

父组件:

<demo>
   <h2 slot="one">我在使用具名插槽1</h2>
   <h2 slot="two">我在使用具名插槽2</h2>
</demo>

3、作用域插槽

子组件:传参给父组件,:msg绑定动态属性,等号后面的为data中的数据名

<template>
  <div>
    <slot :msg="msg">没有内容时我显示</slot>
  </div>
</template>

父组件:使用slot-scope接收子组件的参数,其中等号后面的名称可以随便定义。但是由于参数格式的原因,所以在使用的时候需要用点.才能获取到真正的数据

<demo>
   <h2 slot-scope="content">{{content.msg}}</h2>
</demo>

不用点的时候,直接用content,页面显示如下

4、注意

① 当使用默认插槽时,父组件调用几次,页面就会显示几次

<demo>
  <h2>默认插槽1</h2>
</demo>
<demo>
  <h2>默认插槽2</h2>
</demo>

②当使用具名插槽时,父组件不指定子组件插槽名称,则不会正确显示父组件内容,它会认为你没有用插槽,会显示子组件插槽中的具体内容。

四、其他

以上就是插槽的所有介绍,我们一起进步。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值