Тип <HTMLElement>
нельзя использовать с jQuery, , потому что это не элемент HTML , это элемент jQuery, то есть оболочка вокруг и HTMLElement
.
Это также вызывало у меня головную боль, когда я пытался использовать плагин jQuery (средство выбора даты) с моим приложением Angular.
Сначала убедитесь, что установлены типы jquery:
npm install --save @types/jquery
Таким образом, вы можете импортировать jQuery в свой компонент / сервис и иметь $
в наличии:
import 'jquery';
Далее, убедитесь, что jQuery и ваш базовый плагин добавлены в ваше приложение Angular, для Angular-cli вы можете использовать файл angular-cli.json
, и должно быть что-то сопоставимое для не-Angular Angular:
...
"scripts": [
"../node_modules/jquery/dist/jquery.js",
"../some/path/to/foundation.js"
],
...
В-третьих, чтобы пропустить все HTMLElement
ошибки, оберните селектор в (...)
и присвойте ему тип any
:
// Use either this
(<any> $('#sidenav-list')).foundation(...);
// Or this
($('#sidenav-list') as any).foundation(...);
Возможно, вам также придется обернуть $('#personalPages')
, но я не уверен.
Теперь вы должны быть в состоянии успешно обслуживать и / или создавать ваше приложение.