类型'JQuery <htmlelement>'上不存在属性'select2'

时间:2017-09-27 10:13:43

标签: angular typescript webpack angular-cli

我正在使用带有select2插件的Angular 4。我已为@typesjquery添加了select2。 Vscode intellisense显示为方法select2并且不会抛出任何错误,但angular-cli的编译失败。

2 个答案:

答案 0 :(得分:0)

我有一个类似的问题并通过导入修复它:

import 'select2';
我之前安装的

npm install select2 --save

一旦你这样做,你可以像往常一样通过jQuery使用库,你的IDE不会抱怨它。

答案 1 :(得分:0)

在我的情况下,这是因为我导入了另一个库(sweetalert2),并且使用了错误的jQuery定义。

sweetalert2.d.ts行885中:

/**
 * These interfaces aren't provided by SweetAlert2, but its definitions use them.
 * They will be merged with 'true' definitions.
 */

// tslint:disable:no-empty-interface

interface JQuery {
}

此覆盖JQuery的定义具有错误的结果(最初应为JQuery<T = HTMLElement>)。删除后,一切正常运行。