使用jQuery UI小部件时,通常会遇到遵循此模式的内容:
$(“#someId”)。someWidget(“option”,“someOption”,value);
有没有一种很好的方法来模拟这种交互,以便从TypeScript中获得一些有用的类型检查?从技术上讲,你可能有这样定义的方法:
someWidget(optionLiteral:string,optionName:string,optionValue:any):JQuery;
(以提供的jQuery UI类型定义为模型)
因此,无论选项名称如何,选项值基本上都是“任意”。有没有办法进一步重载类型定义,也许在optionName上进行一些模式匹配?或者有任何计划吗?
答案 0 :(得分:3)
您可能想深入了解jQuery UI示例
http://www.typescriptlang.org/Samples/#Warship
介绍了如何使用其他方法扩展jQuery接口类型。
jQuery类型是一种接口类型,接口类型在TypeScript中打开,这意味着以后的编译单元可以向该类型添加成员。你的例子就像是,
interface JQuery {
someWidget(optionLiteral: string, optionName: string, optionValue: any): JQuery
}
对于重载,方法可以在类型上重载,但不能重载。重载值会在CodePlex网站上提出一个很好的建议。