@types/typeahead 在 Angular 4 cli 项目中使用

@types/typeahead use in Angular 4 cli project

我正在尝试在我的 angular cli 项目中使用 @types/typeahead。我使用以下命令安装了 typehead.js 类型定义。

npm install --save @types/typeahead

并对组件的 OnInit() 方法执行了以下操作。

const suggestions = [{
      value: 'string1'
    }, {
      value: 'string2'
    }, {
      value: 'string3'
    }, {
      value: 'string4'
    }, {
      value: 'string5'
    }];

      let bloodhoundSuggestions = new Bloodhound({
        datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
        queryTokenizer: Bloodhound.tokenizers.whitespace,
        sufficient: 3,
        local: this.suggestions


    });

但是总是报如下错误

Can not find name 'Bloodhound'

我也将以下文件添加到 angular-cli.json 文件中。

"assets/js/bloodhound.min.js",
"assets/js/typeahead.bundle.min.js"

我也安装了jQuery。

您必须在要使用它的打字稿文件中声明Bloodhound

// under your imports in component.ts
declare const Bloodhound;

现在打字稿编译器不应该抛出那个错误