首页 > 解决方案 > 类型“JQuery”上不存在属性“模态”'

问题描述

我正在使用 Angular 7,我正在尝试在我的组件中使用 jQuery 的 .modal 函数:

show() {
    $('#' + this.id).modal('show');
}

但我收到了那个错误......这是图片:

在此处输入图像描述

我也在我的app.module.ts这一行中添加了:

从'jquery'导入*作为$;

但问题仍然存在。

我在这里找到了类似的问题并遵循了相同的步骤,但问题仍然存在。

这是我的package-lock.json文件,我已经看到了一些与 jquery 相关的内容:

 "@types/bootstrap": {
      "version": "4.3.0",
      "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-4.3.0.tgz",
      "integrity": "sha512-v1BkpRVgNH9eXE+RtWFP1wh/+SAkPZaxHthS6umqf1sGV0tAvHdPHZpAOB+H74e91ElOxtS56dxbon+lXWk4AQ==",
      "dev": true,
      "requires": {
        "@types/jquery": "*",
        "popper.js": "^1.14.1"
      }

  "@types/jquery": {
      "version": "3.3.29",
      "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.3.29.tgz",
      "integrity": "sha512-FhJvBninYD36v3k6c+bVk1DSZwh7B5Dpb/Pyk3HKVsiohn0nhbefZZ+3JXbWQhFyt0MxSl2jRDdGQPHeOHFXrQ==",
      "dev": true,
      "requires": {
        "@types/sizzle": "*"
      }
    },

"jquery": {
      "version": "3.4.1",
      "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz",
      "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw=="
    },

如果有人可以提供帮助,那就太好了!谢谢 !

标签: javascriptjqueryangular

解决方案


我通过手动添加名为typings.d.ts的文件解决了问题,就像在 Angular 7 及更高版本中一样,它不像以前的版本那样出现,并且在该文件中我添加了 interface JQuery { ... }并且现在一切正常!:)

interface JQuery {
  dataTable: any;
  datepicker: any;
  datetimepicker: any;
  moment: any;
  select2: any;
  DataTable: any;
  iCheck: any;
  animateCss: any;
  actual: any;
  fullscreen: any;
  noUiSlider: any;
  modal: any;
  tab: any;
  multiselect: any;
  spectrum: any;
}

推荐阅读