- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
到目前为止,我已经像这样向 JQuery 添加了扩展方法:
module JQueryExtensions {
export function foo() {
...
}
}
interface JQuery {
foo(): JQuery;
}
(function ($) {
$.fn.foo = function (): JQuery {
...
return this;
};
})(jQuery);
它非常适合作为 JQuery 实例的扩展方法,例如 $('selector').foo()。但现在我需要添加一个静态函数才能像 $.foo(); 一样调用它;
我试过像这样用“JQueryStatic”替换“JQuery”:
module JQueryExtensions {
export function foo() {
...
}
}
interface JQueryStatic{
foo(): JQuery;
}
(function ($) {
$.fn.foo = function (): JQuery {
...
return this;
};
})(JQueryStatic);
但它给了我以下错误:“找不到名称‘JQueryStatic’。”
最佳答案
只需传递 jQuery
(函数/类型定义)而不是 JQueryStatic
(接口(interface))并使用 $.foo =
(静态方法)代替$.fn.foo =
(实例方法)
(function ($:JQueryStatic) {
$.foo = function (): JQuery {
...
};
})(jQuery);
关于typescript - 使用 typescript 扩展 JQueryStatic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38681212/
我编写了一个 jQuery 插件,我在其中使用了 jQuery 的内部 _data 方法。这导致上述编译器错误。 (function ($) { var evts = $._data(docu
我正在开发一个 typescript 项目。当我调用“$”时,编辑器说“‘JqueryStatic’类型的值不可调用。”。我安装了 jquery.definetelyTyped 包,我还引用了 jqu
我正在将我的 javascript 代码升级到 TypeScript,但我遇到了以下 javascript 函数的问题。 var PreserveLinebreakInTextArea = funct
到目前为止,我已经像这样向 JQuery 添加了扩展方法: module JQueryExtensions { export function foo() { ...
我想将属性 someString 添加到 JQueryStatic 接口(interface),以便我可以使用 $.someString 访问它。 在index.ts中,我有以下代码: interfa
我在angular的声明文件中有错误: TS2304:找不到名称“JQueryStatic”。 我确实安装了 jquery 的类型。在那里,JQueryStatic 被声明为一个接口(interfac
问题:Visual Studio IntelliSense 在 $ 处大喊: Value of type “jQueryStatic” is not callable 示例代码($ 的所有实例,真的)
我正在使用 Angular 4 ' FroalaEditor ' 使用 'JQuery'。 我已经成功实现了。现在我需要在该插件中添加自定义按钮。 我发现以下 solution import { Co
我有以下代码: /// function addThemePrototypes() { var templateSetup = new Array(); $.fn.addTemplat
谁能解释一下?我知道 jQuery 接口(interface)是预定义的,但 JQueryStatic 是什么? 我有以下内容: (function($) { $.fn.disableBt =
我有一个非常简单的文件: /// import {Component} from "angular2/core"; @Component({}) export class AppComponent{
我是一名优秀的程序员,十分优秀!