gpt4 book ai didi

typescript - 如何在 TypeScript 中显式设置 `window` 上的新属性?

转载 作者:行者123 更新时间:2023-12-04 13:58:47 25 4
gpt4 key购买 nike

我通过在 window 上显式设置属性来为我的对象设置全局命名空间.

window.MyNamespace = window.MyNamespace || {};

TypeScript 下划线 MyNamespace并提示说:

The property 'MyNamespace' does not exist on value of type 'window' any"



我可以通过声明 MyNamespace 来使代码工作作为环境变量并删除 window明确性,但我不想那样做。
declare var MyNamespace: any;

MyNamespace = MyNamespace || {};

我怎样才能保持 window在那里让 TypeScript 开心?

作为旁注,我发现 TypeScript 提示特别有趣,因为它告诉我 window类型为 any绝对可以包含任何东西。

最佳答案

我刚刚在 another Stack Overflow question's answer 中找到了答案.

declare global {
interface Window { MyNamespace: any; }
}

window.MyNamespace = window.MyNamespace || {};
基本上,您需要扩展现有的 window界面来告诉它你的新属性(property)。

关于typescript - 如何在 TypeScript 中显式设置 `window` 上的新属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55503816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com