v-slot插槽的使用

本文介绍了Vue.js中组件通信的几种方式,包括不使用具名插槽的简单通信,利用v-slot和slot的name属性进行头部和尾部内容的定制,以及作用域插槽的概念和使用,详细阐述了如何通过作用域插槽实现子组件向父组件传递数据并进行自定义展示。
摘要由CSDN通过智能技术生成

1.不使用具名插槽

父组件中

    <Home>
      父组件传给子组件的内容
    </Home>

子组件用<slot></slot>

  <div>
    <div>下面是子组件内容</div>
    <div>-------------------</div>
    <slot></slot>
  </div>

效果:父组件的值插入到子组件中在这里插入图片描述

2.v-slot 和slot的name属性结合

注意:v-slot 要放在<template></template>
父组件:

    <Home>
      <template v-slot:header>父传子到其--头部</template>
      <template v-slot:footer>父传子到其--尾部</template>
    </Home>

子组件:

<template>
  <div>
    <div>下面是子组件内容</div>
    <div>-------------------</div>
    <slot name="header"></slot>
    <div>-------------------</div>
    <slot name="footer"></slot>
  </div>
</template>

效果:在这里插入图片描述

2.作用域插槽

作用域插槽其实就是带数据的插槽,即带参数的插槽,简单的来说就是子组件提供给父组件的参数,该参数仅限于插槽中使用,父组件可根据子组件传过来的插槽数据来进行不同的方式展现和填充插槽内容。
slot-scope中接受子组件属性的一个集合
父组件

      <template slot="custom" slot-scope="prop">
        {{ prop.data }}--
        {{ prop.arr }}
      </template>

子组件:中自定义属性,数据,父组件可以接收到

    <div>插槽作用域</div>
    <slot
      name="custom"
      :data="'我是子组件自定义的字符串--父组件可以拿'"
      :arr="[1, 2, 3]"
    >
    </slot>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值