我正在使用typescript,我想使用jquery.steps库从typescript创建一个向导.目前,没有可用于jquery.steps的类型化定义文件.试图找出如何写一个打字文件.
Dav*_*nek 14
您始终可以将任何对象定义为类型any
,然后调用您希望的任何方法.当然你会失去类型检查,所以创建d.ts
可能更好但耗时.
无论如何,你应该做的是jquery.steps.d.ts
在同一个文件夹中创建文件jquery.steps.js
.那你必须参考jquery.d.ts
.
///<reference path="../jquery/jquery.d.ts" />
Run Code Online (Sandbox Code Playgroud)
现在您已准备好开始输入...
首先,您将创建接口JQuery并添加任何扩展标准jQuery($)对象的方法.这将与定义的接口JQuery合并,jquery.d.ts
您将能够从TypeScript调用这些方法.方法名称必须与JavaScript中的名称相匹配.参数名称可以更改.返回值必须与JavaScript中的相同.
1)定义
interface JQuery {
testMethod(parameter: string): JQuery;
}
Run Code Online (Sandbox Code Playgroud)
2)用法
var $: JQuery;
$.testMethod("test");
Run Code Online (Sandbox Code Playgroud)
如果使用任何特殊对象(通常是插件和类似设置),则必须将其定义为单独的接口.interace的名称无关紧要,但属性名称必须与JavaScript中的名称相匹配.
1)定义
interface IJQueryPluginSettings {
test: string;
}
interface JQuery {
initPlugin(settings: IJQueryPluginSettings): JQuery;
}
Run Code Online (Sandbox Code Playgroud)
2)用法
var $: JQuery;
var settings: IJQueryPluginSettings = <IJQueryPluginSettings> {
test: "test"
};
$.initPlugin(settings);
Run Code Online (Sandbox Code Playgroud)
使用这种方法,您可以涵盖大部分代码.关键是命名必须匹配的方法/属性.另外看已经创建的d.ts
将有助于你.看看类似的插件,如https://github.com/borisyankov/DefinitelyTyped/blob/master/jquery.joyride/jquery.joyride.d.ts或更复杂的https://github.com/borisyankov/DefinitelyTyped/blob/master /jqueryui/jqueryui.d.ts
您不必涵盖使用它的所有方法/属性.您只能覆盖要从TypeScript调用的代码.如果您涵盖了所有或大部分jQuery插件,请将其上传到https://github.com/borisyankov/DefinitelyTyped
归档时间: |
|
查看次数: |
7748 次 |
最近记录: |