jsx的默认插槽、具名插槽、作用域插槽使用

目录:

在这里插入图片描述

默认插槽和具名插槽:

子组件:

<script>
export default {
  name: 'HellHome',
  render() {
    return (
      <div class="hello">
        <h1>默认插槽</h1>
        {this.$slots.default}
        <h1>具名插槽</h1>
        {this.$slots.mike}
      </div>
    )
  }
}
</script>

父组件:

<script>
import HellHome from '@/components/HellHome.vue'

export default {
  name: 'Home',
  components: {
    HellHome
  },
  render() {
    return (
      <div class="home">
        <HellHome>
          //默认插槽
          <div>kkk</div>
          //具名插槽
          <div slot='mike'>mike</div>
        </HellHome>
      </div>
    )
  },
}
</script>

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

作用域插槽:

子组件:

<script>
export default {
  name: 'HelloAbout',
  render() {
    return (
      <div class="hello">
        <h1>作用域插槽</h1>
        {this.$scopedSlots.person({ name: 'john', age: 65 })}
      </div>
    )
  }
}
</script>

父组件:

<script>
import HelloAbout from '@/components/HelloAbout.vue'

export default {
  name: 'About',
  components: {
    HelloAbout
  },
  render() {
    return (
      <div class="about">
        <HelloAbout scopedSlots={{
          person: props => {
            return (
              <div style='backgroundColor:orange'>
                {props.name}今年 {props.age}</div>
            );
          }
        }} ></HelloAbout>
      </div>
    )
  },
}
</script>

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值