我刚刚下载了typeahead.js d.ts文件,但你到底该怎么用呢?
必须以这种格式编写选项对象:
let a:Twitter.Typeahead.Options = {};
但我如何定义来源?
这导致编译器错误 - :
let b:Twitter.Typeahead.Dataset<string> =
{source:{query:'',syncResults:null,asyncResults:null}};
有人可以帮我解释语法吗?
编辑: 解决了它:
这是我在typescript中使用的代码:你需要jquery,用于$ .each()函数。
private sourceFactory(list: string[]):
(query: string, syncResults: (results: string[]) => void) => void {
return (query: string, syncResults: (results: string[]) => void) => {
let matches: string[] = [];
let regex: RegExp = new RegExp('^' + query, 'i');
$.each(list, (i: number, str: string) => {
if (regex.test(str)) {
matches.push(str);
}
});
syncResults(matches);
}
}
答案 0 :(得分:0)
引用您的文件,例如:
/// <reference path="Validation.ts" />
或
/// <reference path="./../Scripts/typings/foo.d.ts" />
请参阅:https://www.typescriptlang.org/docs/handbook/namespaces.html
1)将.d.ts文件放在tsconfig.json中,如下所述:Do I have to reference typescript definition in every file
2)尝试通过命名空间调用方法:
Twitter.Typeahead.callsomething()
或像
一样导入import tah from 'foo'
import { default as tah } from 'foo'
你还需要下载jquery,因为这个库依赖它(查看.d.ts文件)。