我试图让jquery datepicker在正在构建的应用程序中工作。我有一个角度cli应用程序。我在npm中添加了jquery-datepicker,在npm中添加了jquery。
package.json
依赖性如下:
"@angular/animations": "~7.1.0",
"@angular/common": "~7.1.0",
"@angular/compiler": "~7.1.0",
"@angular/core": "~7.1.0",
"@angular/forms": "~7.1.0",
"@angular/platform-browser": "~7.1.0",
"@angular/platform-browser-dynamic": "~7.1.0",
"@angular/router": "~7.1.0",
"@ng-bootstrap/ng-bootstrap": "^4.0.1",
"bootstrap": "^4.2.1",
"core-js": "^2.5.4",
"font-awesome": "^4.7.0",
"jquery": "^3.3.1",
"jquery-datepicker": "^1.12.3",
"moment": "^2.23.0",
"popper.js": "^1.14.6",
"rxjs": "~6.3.3",
"tslib": "^1.9.0",
"web-animations-js": "^2.3.1",
"zone.js": "~0.8.26"
我得到的错误是:
错误TypeError:jquery__WEBPACK_IMPORTED_MODULE_4 __(...)。datepicker不是函数
pollyfills.ts
如下:
import 'jquery';
import 'popper.js';
import 'bootstrap';
import 'moment';
import 'jquery-datepicker';
然后我的组件看起来像:
ngOnInit() {
$( "#datepicker" ).datepicker();
}
有人可以告诉我为什么会出现此错误吗?
答案 0 :(得分:0)
在与main.ts相同的位置创建一个jquery.ts并将以下内容粘贴到其中,
从'jquery'中将*导入为$;
window ['jQuery'] = window ['$'] = $;
在main.ts的顶部插入以下内容,
导入'jquery';
导入'popper.js';
导入'bootstrap';
导入“时刻”;
导入'jquery-datepicker';
从您的html或angular cli配置中删除对jquery或bootstrap的任何其他脚本引用。