【问题标题】:Using the typeahead.js definitely typed file使用 typeahead.js 绝对类型文件
【发布时间】:2016-11-30 16:03:42
【问题描述】:

我刚刚下载了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);
    }
}

【问题讨论】:

    标签: typeahead.js typescript2.0


    【解决方案1】:

    引用您的文件,例如:

    /// <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 文件)。

    【讨论】:

    • 我已经做到了,我正在询问如何编写代码。我在 $("#input").typeahead() 中输入了什么?如何声明异步和同步源以及查询字符串?
    猜你喜欢
    • 2019-09-24
    • 1970-01-01
    • 2017-01-10
    • 2016-08-30
    • 2016-07-22
    • 2016-05-21
    • 2018-02-02
    • 2023-04-10
    • 1970-01-01
    相关资源
    最近更新 更多