我一直试图让<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>[];,但它在导入语句中给出了错误.我怎么才能解决这个问题呢?

推荐答案

writable创建与组件本身无关的store. 可写存储的类型将是Writable<T>.

组件的类型应该仅为ComponentType,因此幻灯片的类型应为:

export let slides: { component: ComponentType }[]

Typescript相关问答推荐

错误:note_modules/@types/note/globals.d.ts:72:13 -错误TS 2403:后续变量声明必须具有相同的类型

类型脚本:类型是通用的,只能索引以供阅读.(2862)"

类型脚本如何将嵌套的通用类型展开为父通用类型

TypeScript将键传递给新对象错误

如何在第一次加载组件时加载ref数组

为什么typescript不能推断类的方法返回类型为泛型''

无法从Chrome清除还原的初始状态数据

是否可以从函数类型中创建简化的类型,go 掉参数中任何看起来像回调的内容,而保留其余的内容?

如何在方法中正确地传递来自TypeScrip对象的字段子集?

如何将TS泛型用于react-hook-form接口?

如何缩小函数的返回类型?

有没有办法取消分发元组的联合?

我怎样才能正确地输入这个函数,使它在没有提供正确的参数时出错

错误:NG02200:找不到类型为';对象';的其他支持对象';[对象对象]';.例如数组

必需的输入()参数仍然发出&没有初始值设定项&q;错误

TypeScript:如何使用泛型和子类型创建泛型默认函数?

TypeScript是否不知道其他函数内部的类型判断?

如何根据Typescript 中带有泛型的对象嵌套键数组获取数组或对象的正确类型?

数据库中的表请求返回如下日期:2023-07-20T21:39:00.000Z 我需要将此数据格式化为 dd/MM/yyyy HH:mm

解析错误:DeprecationError: 'originalKeywordKind' 自 v5.0.0 起已被弃用,无法再使用