在TypeScript中键入<svelte:component>的“ this”属性

问题描述

我正在svelte中构建一种门户系统,它使用商店来传递组件以将组件树显示在某个位置。

我的问题不是关于实现该系统,而是关于输入商店。我试图这样声明它:

const modalComponent = writable<svelteComponent>(null)

但这不起作用。当我在某个地方导入组件时,VS Code向我显示了一种typeof <componentName>__svelteComponent_类型,它与svelteComponent类型不兼容(实际上是svelteComponentDev的别名):

类型'typeof __ svelteComponent_'缺少类型'svelteComponentDev'中的以下属性:$ set,$ on,$ destroy,$ capture_state和另外2个。

我应该如何键入?我想避免使用any

更新:这里是codesandbox重述案例的内容。不幸的是,我似乎无法使其与TypeScript一起使用。我仍在分享它,希望它能对您有所帮助。

解决方法

按照dummdidumm的指示,我为Svelte的团队创建了一个here问题来解决该问题。

与此同时,我现在将其标记为答案,并在问题解决和发布后立即对其进行更新。谢谢!