我想将属性 someString
添加到 JQueryStatic
接口(interface),以便我可以使用 $.someString
访问它。
在index.ts
中,我有以下代码:
interface JQueryStatic {
someString: string;
}
$.someString = "string";
$
的类型为 JQueryStatic
,但是我收到以下错误:
Property 'someString' does not exist on type 'JQueryStatic'.
最佳答案
您可以使用环境类型声明来扩展 jQuery 类型声明,如下所示:
declare interface JQueryStatic {
someString: string;
}
将其放入代码中某处的 .d.ts
文件中,并确保它包含(或不排除)在 tsconfig.json
中。
为什么会这样?
declare
位使得这个“环境” - 就像“某处存在一个 JQueryStatic
,它有一个 someString
成员”。 TypeScript 很聪明,它会发现其他地方还有另一个 JQueryStatic
环境声明(在您的情况下,jQuery 类型并将它们“合并”到一个 JQueryStatic
接口(interface)声明中。
关于jquery - 向 JQueryStatic 接口(interface)添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37751376/