1.vue2 + jsx
(1)slot组件
<template>
<div class="index">
<h2>slotdemo -- 组件调用成功</h2>
<slot name="title"></slot>
<slot></slot>
</div>
</template>
(2)调用
<script lang="tsx">
import slotdemo from './slot/index.vue';
export default {
components: { slotdemo },
data() {
return {
title: 'index',
};
},
render() {
return (
<>
<div>
<h1>vue2-jsxSlot</h1>
<slotdemo>
{{
title: () => {
return <h1>vue2中slot的使用</h1>;
},
default: () => <h2>天气还行</h2>,
}}
</slotdemo>
</div>
</>
);
},
};
</script>
2.vue3 + jsx
(1)slot组件
<script lang="tsx">
import { defineComponent } from 'vue';
export default defineComponent({
setup(props, { slots }) {
const resSlots = slots;
return { resSlots };
},
render() {
return (
<>
<div className="index">
<h2>vue3-slotdemo-组件调用成功</h2>
{/* 方式一 */}
<h3>方式一</h3>
<div>{this.resSlots?.title()}</div>
<div>{this.resSlots?.default()}</div>
{/* 方式二 */}
<h3>方式二</h3>
<div>{this.$slots?.title()}</div>
<div>{this.$slots?.default()}</div>
</div>
</>
);
},
});
</script>
(2)调用
<script lang="tsx">
import { defineComponent } from 'vue';
import slotdemo from './slot/index.vue';
export default defineComponent({
components: { slotdemo },
setup() {
return {};
},
render() {
return (
<>
<div className="index">
<h1>vue3-jsxSlot</h1>
<slotdemo>
{{
title: () => <h3>vue3中slot的使用</h3>,
default: () => <p>2023/04/13</p>,
}}
</slotdemo>
</div>
</>
);
},
});
</script>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?