我知道我已经下载的定义文件存在一些问题。例如这里使用以下 $.ajax 调用:
$.ajax("/Admin/xx",
{
cache: false
})
请注意,我需要先指定 URL。我记得读过这被理解为一个错误。
从哪里可以得到最新的 JQuery 定义文件。有人知道微软何时会发布他们现在拥有的 Typescript Alpha 版本的更新吗?
我知道我已经下载的定义文件存在一些问题。例如这里使用以下 $.ajax 调用:
$.ajax("/Admin/xx",
{
cache: false
})
请注意,我需要先指定 URL。我记得读过这被理解为一个错误。
从哪里可以得到最新的 JQuery 定义文件。有人知道微软何时会发布他们现在拥有的 Typescript Alpha 版本的更新吗?
您可以在此处从 TypeScript 的存储库中找到 jQuery 定义的分支:
它包含对原始版本的数十个修复,包括 ajax() 重载。一旦 TypeScript 团队开始接受拉取请求,我将在那里推送修复。
关于 TypeScript 本身的更新:它不是 alpha,而是预览版。0.8.1 版本正在回购中,他们表示希望有 2013 年的最终版本。
更新!现在,Definite Typed 项目是获取您的定义的正确位置 - 微软现在正在积极参与 Definitive Typed 项目。
最新的 jQuery 官方类型可以在 TypeScript Codeplex 网站上找到。(项目已移动)。
我相信目前的定义是:
ajax(url: string, settings: JQueryAjaxSettings);
这是正确的,但它不是ajax
函数的唯一变体,它真的应该用以下定义重载:
ajax(settings: JQueryAjaxSettings);
您可以在自己的代码中添加对此的支持,方法是在 TypeScript jquery.d.ts 定义之上添加您自己的扩展,并在 jquery.d.ts 文件更新时删除它 - 当它更新时,您将获得一个构建关于重复定义的警告以提醒您执行此操作。
declare interface JQueryStatic {
ajax(settings: JQueryAjaxSettings);
}
从definitelyTyped, jQuery 1.10.x / 2.0.x的声明文件在这里:
https://github.com/borisyankov/DefinitelyTyped/blob/master/jquery/jquery.d.ts(死链接)
..或以原始形式:
https://raw.githubusercontent.com/borisyankov/DefinitelyTyped/master/jquery/jquery.d.ts
Google Hosted Libraries分发(截至今天)jQuery 2.1.3,这是我更喜欢使用的一个。我不知道 API 在 2.0 和 2.1 之间变化到什么程度。但是如果你在你的 TypeScript 应用程序中发现了一个错误,那可能是因为最新版本的 jQuery 中的一个小的 API 更改没有传播到上面提供的声明文件中。