vue3具名插槽&动态插槽

// 动态插槽
// 应用页面
<template>
  <div>
    <child v-slot="{nn,aa,ss}">
      <div>{{nn}}</div>
      <div>{{aa}}</div>
      <div>{{ss}}</div>
    </child>
  </div>
</template>

<script setup lang="ts">
import {defineAsyncComponent} from "vue";
const child=defineAsyncComponent(()=>import('./child.vue'))
</script>

<style scoped lang="less"></style>
// 插槽
<template>
  <div>
    <hr>
    <p>我是路飞</p>
    <slot :nn="name" :aa="age" :ss="skill">占位</slot>
    <p>我是索隆</p>
    <p>我是山治</p>
    <p>我是乔巴</p>
    <p>我是乌索普</p>
  </div>
</template>

<script setup lang="ts">
import {ref} from "vue";
const name=ref<string>('我是要成为海贼王的男人')
const age=ref<number>(19)
const skill=ref<string>('one piece')
</script>

<style scoped lang="less"></style>
// 具名插槽
// 应用页面
<template>
  <div>
    <child>
      <template #siHuang>
        <div>黑胡子</div>
      </template>
      <template #haiJun>
        <div>战国</div>
      </template>
    </child>
  </div>
</template>

<script setup lang="ts">
import {defineAsyncComponent} from "vue";
const child=defineAsyncComponent(()=>import('./child.vue'))
</script>

<style scoped lang="less"></style>

// 插槽
<template>
  <div>
    <p>白胡子</p>
    <slot name="siHuang"></slot>
    <p>红发</p>
    <p>凯多</p>
    <slot name="haiJun"></slot>
    <p>大妈</p>
  </div>
</template>

<script setup lang="ts"></script>

<style scoped lang="less"></style>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值