Vue2项目中使用render

\src\views\about.vue

<template>
  <div>
    <h2>render函数</h2>
    <heading :title="title" :level="level">
      {{ title }}
    </heading>
  </div>
</template>

<script>
import Heading from "./son/Sonslot.vue";
export default {
  components: { Heading },
  data() {
    return {
      title: "这是由render函数渲染的标签。",
      level: "2",
    };
  },
};
</script>

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

\src\views\son\sonslot.vue

<script>
export default {
  props: ["level", "title"],
  // heading组件
  // <heading :level="1" :title="title" icon="cart">{{title}}</heading>
  // <h2 title=""></h2>
  render(h) {
    console.log("this.$slots.default :>> ", this.$slots.default);
    return h(
      "h" + this.level, // 参数1,tagname  //标签h1   
      { attrs: { title: this.title } }, // 参数2:{。。。}
      //this.$slots.default 为默认插槽
      //也可以定义具名插槽 this.$slots.名称 | 使用 v-slot:名称 插入
      this.$slots.default // 参数3,子节点VNode数组
        // 'h1',{style:{'background-color':'black',width:"100px",height:'100px'}}
    );
  },
};
</script>

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

示例:

效果:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值