- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有以下代码:
///<reference path="../typescript/jquery.d.ts" />
function addThemePrototypes() {
var templateSetup = new Array();
$.fn.addTemplateSetup = function(func, prioritary)
{
if (prioritary)
{
templateSetup.unshift(func);
}
else
{
templateSetup.push(func);
}
};
}
当我尝试添加以下内容时:
$('a').addTemplateSetup(
在同一个文件中,我注意到没有智能感知, typescript 似乎不知道我刚刚添加的 addTemplateSetup 原型(prototype)。
这是它工作的正确方法还是我总是需要将 addTemplateSetup 的定义添加到 JQueryStatic 定义文件然后包含它?
最佳答案
您需要以某种方式声明它以使 Typescript 不报错,最简单的方法是将其声明为任何:
interface JQuery {
addTemplateSetup: any;
}
但是为了获得最好的智能感知支持,还要添加有关参数类型的信息:
interface JQuery {
addTemplateSetup: (func: Function, priority: bool) =>void;
}
关于javascript - 我是否需要使用 TypeScript 在 JQueryStatic 定义文件中声明所有 JQuery 原型(prototype)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13170905/
我编写了一个 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{
我是一名优秀的程序员,十分优秀!