添加 属性 到 JQueryStatic 接口
Add property to JQueryStatic interface
我想添加一个 属性 someString
到 JQueryStatic
接口,这样我就可以用 $.someString
.
访问它
在index.ts
中,我有这个代码:
interface JQueryStatic {
someString: string;
}
$.someString = "string";
$
是 JQueryStatic
类型,但是我收到以下错误:
Property 'someString' does not exist on type 'JQueryStatic'.
$
的现有类型信息在声明文件中(您可能已下载)。如果您想将新接口声明合并到现有接口中,请将您的声明放入 jquery-extensions.d.ts
文件中:
interface JQueryStatic {
someString: string;
}
如有必要,请在代码顶部添加指向此新文件的引用路径:
/// <reference path="../path/to/jquery-extensions.d.ts" />
您可以使用扩展 jQuery 类型声明的环境类型声明,如下所示:
declare interface JQueryStatic {
someString: string;
}
将它放在代码中某处的 .d.ts
文件中,并确保它包含(或不排除)在您的 tsconfig.json
.
中
为什么这样做?
declare
位是造成此 "ambient" 的原因 - 与 "there exists somewhere a JQueryStatic
which has a someString
member" 中一样。 TypeScript 很聪明,它发现其他地方还有另一个 JQueryStatic
环境声明(在你的例子中,jQuery 打字和 "merges" 它们一起在一个 JQueryStatic
接口声明中。
我想添加一个 属性 someString
到 JQueryStatic
接口,这样我就可以用 $.someString
.
在index.ts
中,我有这个代码:
interface JQueryStatic {
someString: string;
}
$.someString = "string";
$
是 JQueryStatic
类型,但是我收到以下错误:
Property 'someString' does not exist on type 'JQueryStatic'.
$
的现有类型信息在声明文件中(您可能已下载)。如果您想将新接口声明合并到现有接口中,请将您的声明放入 jquery-extensions.d.ts
文件中:
interface JQueryStatic {
someString: string;
}
如有必要,请在代码顶部添加指向此新文件的引用路径:
/// <reference path="../path/to/jquery-extensions.d.ts" />
您可以使用扩展 jQuery 类型声明的环境类型声明,如下所示:
declare interface JQueryStatic {
someString: string;
}
将它放在代码中某处的 .d.ts
文件中,并确保它包含(或不排除)在您的 tsconfig.json
.
为什么这样做?
declare
位是造成此 "ambient" 的原因 - 与 "there exists somewhere a JQueryStatic
which has a someString
member" 中一样。 TypeScript 很聪明,它发现其他地方还有另一个 JQueryStatic
环境声明(在你的例子中,jQuery 打字和 "merges" 它们一起在一个 JQueryStatic
接口声明中。