use*_*025 7 typescript svelte sveltekit
我有以下工作(运行)代码,但收到 TypeScript 错误“ Window & typeof globalThis”类型上不存在属性“onSubmit”。。
function onSubmit() {
. . .
}
onMount(() => {
window.onSubmit = onSubmit; <-- Error
});
onDestroy(() => {
window.onSubmit = null; <-- Error
});
Run Code Online (Sandbox Code Playgroud)
在我的global.d.ts文件中,我尝试导出要导入的接口
export interface CustomWindow extends Window {
onSubmit: () => void;
}
Run Code Online (Sandbox Code Playgroud)
并宣布全球
declare global {
interface Window {
onSubmit: () => void;
}
}
Run Code Online (Sandbox Code Playgroud)
这两种解决方案均未成功,错误仍然存在。我们如何向 window 对象添加属性以供 TypeScript 识别?
几乎正确,declare是正确的关键字,但您不需要将其包装起来global。
下面补充一下:
declare interface Window {
onSubmit: () => void;
}
Run Code Online (Sandbox Code Playgroud)
还要确保您的 as 中没有任何imports 或exports global.d.ts,然后它不再被视为环境模块。
| 归档时间: |
|
| 查看次数: |
4088 次 |
| 最近记录: |