我一直试图让<svelte:component />
用 typewriter 打字,但没有成功.这就是我现在所拥有的.
Presentation.svelte个
<script lang="ts">
export let slides;
</script>
{#each slides as slide}
<svelte:component this={slide.component} {...slide} />
{/each}
+page.svelte个
<script lang="ts">
import TitleSlide from '$lib/components/Slides/TitleSlide.svelte';
import Presentation from '$lib/components/Presentation.svelte';
import HeaderSlide from '$lib/components/Slides/HeaderSlide.svelte';
const slides = [
{
component: TitleSlide,
//
},
{
component: HeaderSlide,
}
]
</script>
<Presentation {slides} />
TitleSlide.svelte个
<script lang="ts">
import BaseSlide from './BaseSlide.svelte';
export let title: string;
export let subtitle: string;
</script>
<BaseSlide>
<div class="flex flex-col items-center">
<h1 class="text-8xl font-bold">{title}</h1>
<h2 class="text-4xl">{subtitle}</h2>
</div>
</BaseSlide>
HeaderSlide.svelte个
<script lang="ts">
import BaseSlide from './BaseSlide.svelte';
export let header: string;
</script>
<BaseSlide>
<h3 class="text-6xl">{header}</h3>
</BaseSlide>
BaseSlide.svelte个
<section class="flex h-screen items-center justify-center bg-slate-300">
<slot />
</section>
我想在这里做的是在+page.svelte
中定义幻灯片数组中的所有幻灯片,并根据组件在TypeScrip中的类型使用props .我做了一些研究,发现可以在this StackOverflow post中键入writable<typeof SvelteComponent>
的组件,但我所能找到的writable
的唯一导入在我将其键入为export let slides: writable<typeof SvelteComponent>[];
时出错,我也try 了export let slides: Writable<typeof SvelteComponent>[];
,但它在导入语句中给出了错误.我怎么才能解决这个问题呢?