例如,如果您在JavaScript中使用jQuery验证,则可能会编写类似这样的内容
$("#loginForm").validate({
"rules": {
"emailAddress": "required",
"password": "required"
},
"messages": {
"emailAddress": "Required",
"password": "Required"
}
});
但是在TypeScript中也许会是这样的
let validator: Validator = new Validator("formName");
validator.rules.add( ... );
validator.messages.add( ... );
if (validator.valid())
{
// submit or whatever ...
}
我并不是说这是正确的,只是试图解释我的意思。
所以我的问题是
1,您如何理解TypeScript定义文件,并从基本角度了解如何使用它进行编码?
2,如何使用jquery.validation.d.ts以TypeScript方式在TypeScript中使用jQuery Validation?换句话说,请更正上面的TypeScript代码。
答案 0 :(得分:1)
您缺少的只是指定某些变量的类型。如果你的打字扩展了jQuery / static jQuery($.
),那么你只需要担心确保正确引用打字文件。这就是大多数插件类型的工作原理..它们允许你在你的打字稿文件中使用第三方元素,特别是如果它们扩展jQuery(等)对象($('.element').somePlugin()
)
你可以用几种方式做到这一点,当我在VS2015中工作时,我可以将这一行添加到* .ts文件的顶部:
/// <reference path="../typings/main/ambient/jquery/jquery.d.ts" />
var context: JQuery = $('body');
或者您可能有打字稿配置文件,您可以一次性导入所有打字。
...
"compileOnSave": true,
"buildOnSave": false,
"files": [
"src/**/*.ts",
"test/**/*.ts",
"typings/main.d.ts"
],
...
当您将鼠标悬停在已定义类型的变量或编译TS时,IDE会通知您类型。
在下图中,您可以看到当我将鼠标悬停在打字上时,IDE会告诉我这是什么。或者,如果存在一些不正确/缺失的类型,您可以立即看到它们(红色文本)
另一个例子:hello: string = 'Welcome world'
没问题,但hello: string = 123
不会。
在你的例子中。如果您引用了插件的类型,那么编译器会警告您,如果您决定放入一些非法选项,例如:
$("#loginForm").validate({
"rules": {
"emailAddress": "required",
"password": "required",
"superCoolThing:" false // <---
},
"messages": {
"emailAddress": "Required",
"password": "Required"
}
});